You need to enable JavaScript to run this app.
视频直播

视频直播

Copy page
Download PDF
PHP SDK
Header 配置
Copy page
Download PDF
Header 配置

阅读本文,您可以获取 PHP SDK Header 配置的接口调用示例,实现快速开发。

tip

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档或打开 [API Explorer](https://api.volcengine.com/api-explorer/debug?serviceCode=live&groupName=Header 配置&action=UpdateHTTPHeaderConfig&version=2023-01-01) 的文档说明页签查看。

前提条件

调用接口前,请先完成 PHP SDK 的安装及初始化操作。

调用示例

本节为您介绍Header 配置相关接口的功能和调用示例。

添加或更新 HTTP header 配置

您可以调用 UpdateHTTPHeaderConfig 接口添加或更新 HTTP header 配置。详细的参数说明可参见 UpdateHTTPHeaderConfig 接口文档。

接口调用示例如下所示。

<?php
include_once "./vendor/autoload.php";

use Volc\Service\Live\V20230101\Live;

// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
$client = Live::getInstance();

$client->setAccessKey(getenv("VOLC_ACCESSKEY"));

$client->setSecretKey(getenv("VOLC_SECRETKEY"));

$body = [
    // 域名空间,即直播流地址的域名所属的域名空间。您可以调用 [ListDomainDetail](https://www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https://console.volcengine.com/live/main/domain/list)页面,查看需要域名所属的域名空间。
    "Vhost" => "push.example.com",
    // 拉流域名。默认为空,表示 Vhost 下的全部拉流域名。您可以调用 [ListDomainDetail](https://www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https://console.volcengine.com/live/main/domain/list)页面,查看配置的拉流域名。
    "Domain" => "pull.example.com",
    // HTTP Header 的类型,支持的取值及含义如下所示。
    // <li> 0:请求响应头; </li>
    // <li> 1:回源请求头。 </li>
    "Phase" => 0,
    // Header 具体字段配置。
    "HeaderConfigList" => [
        [
            // Header 配置中字段的 Key 值,最大长度为 1024 个字符,多个 Header 不可重名。
            "HeaderKey" => "Content-Type",
            // Header 配置中字段的 Value 值,最大长度为 1024 个字符,支持使用常量和变量作为 Value 值。
            // HTTP Header 类型为回源请求头时,支持使用以下变量为 Value 赋值:
            // <li> ${domain}:客户端拉流请求中使用的域名。 </li>
            // <li> ${uri}:客户端拉流请求中不包括查询参数的路径。如果请求被重写,则表示重写后的路径。 </li>
            // <li> ${args}:客户端拉流请求中的查询参数。如果请求被重写,则表示重写后的参数。 </li>
            // <li> ${remote_addr}:发送拉流请求的客户端 IP 地址。 </li>
            // <li> ${server_addr}:响应客户端拉流请求的 CDN 节点 IP 地址。 </li>
            // HTTP Header 类型为请求响应头时,支持使用以下变量为 Value 赋值:
            // <li> ${upstream_host}:客户端拉流请求中使用的域名。 </li>
            // <li> ${upstream_uri}:客户端拉流请求中不包括查询参数的路径。如果请求被重写,则表示重写后的路径。 </li>
            // <li> ${upstream_args}:客户端拉流请求中的查询参数。如果请求被重写,则表示重写后的参数。 </li>
            // <li> ${remote_addr}:发送拉流请求的客户端 IP 地址。 </li>
            "HeaderValue" => "text/plain",
            // Header 配置中字段 Value 值的类型,取值及含义如下所示。
            // <li> 0:常量; </li>
            // <li> 1:变量。 </li>
            "HeaderFieldType" => 0,
        ],
    ],
    // 是否保留原 Header 配置,取值及含义如下所示。
    // <li> 0:保留(默认值); </li>
    // <li> 1:不保留。 </li>
    "BlockOriginal" => 0,
    // 配置完成后是否启用,取值及含义如下所示。
    // <li> true:启用; </li>
    // <li> false:禁用。 </li>
    "Enable" => true,
];

$response = $client->updateHTTPHeaderConfig($body);
print_r($response);

查询 HTTP Header 配置

您可以调用 DescribeHTTPHeaderConfig 接口查询 HTTP Header 配置。详细的参数说明可参见 DescribeHTTPHeaderConfig 接口文档。

接口调用示例如下所示。

<?php
include_once "./vendor/autoload.php";

use Volc\Service\Live\V20230101\Live;

// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
$client = Live::getInstance();

$client->setAccessKey(getenv("VOLC_ACCESSKEY"));

$client->setSecretKey(getenv("VOLC_SECRETKEY"));

$body = [
    // 域名空间,即直播流地址的域名所属的域名空间。您可以调用 [ListDomainDetail](https://www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https://console.volcengine.com/live/main/domain/list)页面,查看需要域名所属的域名空间。
    "Vhost" => "push.example.com",
    // 拉流域名。默认为空,表示查询 Vhost 下的全部拉流域名的 HTTP Header 配置。您可以调用 [ListDomainDetail](https://www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https://console.volcengine.com/live/main/domain/list)页面,查看待查询的拉流域名。
    "Domain" => "pull.example.com",
    // HTTP Header 的类型,支持的取值及含义如下所示。
    // <li> 0:请求响应头; </li>
    // <li> 1:回源请求头。 </li>
    "Phase" => 0,
];

$response = $client->describeHTTPHeaderConfig($body);
print_r($response);

启用或禁用 HTTP Header 配置

您可以调用 EnableHTTPHeaderConfig 接口启用或禁用 HTTP Header 配置。详细的参数说明可参见 EnableHTTPHeaderConfig 接口文档。

接口调用示例如下所示。

<?php
include_once "./vendor/autoload.php";

use Volc\Service\Live\V20230101\Live;

// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
$client = Live::getInstance();

$client->setAccessKey(getenv("VOLC_ACCESSKEY"));

$client->setSecretKey(getenv("VOLC_SECRETKEY"));

$body = [
    // 域名空间,您可以调用 [DescribeHTTPHeaderConfig](https://www.volcengine.com/docs/6469/1232744) 接口查看 HTTP Header 配置的 Vhost 取值。
    "Vhost" => "push.example.com",
    // HTTP Header 类型,您可以调用 [DescribeHTTPHeaderConfig](https://www.volcengine.com/docs/6469/1232744) 接口查看 HTTP Header 配置的 Phase 取值。
    "Phase" => 0,
    // 启用或禁用配置,取值及含义如下所示。
    // <li> true:启用; </li>
    // <li> false:禁用。 </li>
    "Enable" => true,
    // 拉流域名,您可以调用 [DescribeHTTPHeaderConfig](https://www.volcengine.com/docs/6469/1232744) 接口查看 HTTP Header 配置的 Domain 取值。
    "Domain" => "pull.example.com",
];

$response = $client->enableHTTPHeaderConfig($body);
print_r($response);

删除 HTTP Header 配置

您可以调用 DeleteHTTPHeaderConfig 接口删除 HTTP Header 配置。详细的参数说明可参见 DeleteHTTPHeaderConfig 接口文档。

接口调用示例如下所示。

<?php
include_once "./vendor/autoload.php";

use Volc\Service\Live\V20230101\Live;

// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
$client = Live::getInstance();

$client->setAccessKey(getenv("VOLC_ACCESSKEY"));

$client->setSecretKey(getenv("VOLC_SECRETKEY"));

$body = [
    // 域名空间,您可以调用 [DescribeHTTPHeaderConfig](https://www.volcengine.com/docs/6469/1232744) 接口查看 HTTP Header 配置的 Vhost 取值。
    "Vhost" => "push.example.com",
    // 拉流域名,您可以调用 [DescribeHTTPHeaderConfig](https://www.volcengine.com/docs/6469/1232744) 接口查看 HTTP Header 配置的 Domain 取值。
    "Domain" => "pull.example.com",
    // HTTP Header 类型,您可以调用 [DescribeHTTPHeaderConfig](https://www.volcengine.com/docs/6469/1232744) 接口查看 HTTP Header 配置的 Phase 取值。
    "Phase" => 0,
];

$response = $client->deleteHTTPHeaderConfig($body);
print_r($response);

Last updated: 2025.02.21 18:04:08