如何获取自定义Http头的值?

时间:2017-12-18 作者:Rishabh

一个自定义创建的HTTP头,我需要获取其值,为此,我使用以下WordPress函数

$response = wp_remote_get(\'http://example.com/page/\');
$auth = wp_remote_retrieve_header( $response, \'Cache-Control\' ); //Calling http header value of name "cach-control"
在上面的代码中,我获取了一个值“Cache Control”,这是一个默认的HTTP头。我知道WordPress只支持有限的HTTP头。我找到了一个plugin 这允许我们使用更多的HTTP头。但即使使用这个插件,我也无法获取自定义创建的头的值。

是否有任何方法可以获取自定义标题的值?

1 个回复
SO网友:kierzniak

我检查过了amazon.com 检索网站X-Amz-Cf-Id 我相信这不是一个标准的标题,对我来说,它工作得很好:

function wpse_288865_featch_header() {

    $response = wp_remote_get(\'https://www.amazon.com/\');
    $custom_header = wp_remote_retrieve_header($response, \'X-Amz-Cf-Id\');

    var_dump($custom_header);
    exit;
}

add_action(\'init\', \'wpse_288865_featch_header\');
有时amazon.com 没有返回此标题,请刷新您的WordPress站点几次。

我还检查了WordPress core以解析请求,但没有找到某种类型的标题白名单。它只是在删除transfer-encodingconnection 标题。

请检查您是否向您的网站提出了适当的请求。这是我第一次检查google.com 也有类似的问题。我看不到标题google.com 应该返回。问题是google.com 不允许我提出这样的要求,作为回报,我得到HTTP/1.1 403 Forbidden 明显返回完全不同标题的响应HTTP/1.1 200 回答

结束

相关推荐

PHP-将HTTPS重定向到http,并将www重定向到非www

**编辑:我终于弄明白了。向下滚动我的自我回答自我接受答案(绿色复选标记)**我当前正在使用functions.php 重定向https URL到http 对于当前没有SSL证书的站点:function shapeSpace_check_https() { if ((!empty($_SERVER[\'HTTPS\']) && $_SERVER[\'HTTPS\'] !== \'off\') || $_SERVER[\'SERVER_PORT\'] == 443) {