我想为网址xyz.com设置请求标头 它是在php中设置它的正确方法吗?
header('Authorization: AuthSub token="xxxxxx"');
header('location:https://www.google.com/accounts/AuthSubRevokeToken');
我正在尝试为此呼叫设置此网址的标头。但授权:AuthSub标头并未显示在FireFox NET面板的请求标头部分中。它用于显示请求。
有什么想法吗? 感谢名单。
我之前使用的是curl,但它似乎没有发出任何请求,因为我无法在FireFox的.NET面板中看到它。 代码如下:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"https://www.google.com/accounts/AuthSubRevokeToken");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: AuthSub token="1/xxx"'
));
$result = curl_exec($curl);
curl_close($curl);
echo 'hererer'.$result;exit;
答案 0 :(得分:1)
header
设置响应标头,而不是请求标头。 (如果您尝试在其他地方发送HTTP请求,则无效。)
请注意手册中有关Remember that header() must be called before any actual output is sent, ...
的内容。
在使用error_reporting(E_ALL);
之前启用header()
,看看这是否适合您。
答案 1 :(得分:1)
标题名称和值需要用一个冒号和一个空格分隔,所以位置“标题”是错误的,它应该是:
header('Location: https://www.google.com/accounts/AuthSubRevokeToken');
(以这种方式编写案例也很常见,但不是必需的)
接下来,header
函数正在设置响应标头,而不是请求标头。所以你基本上使用了错误的工具。
在PHP中,您无法设置请求标头,这是客户端(例如浏览器)的一部分,而不是服务器。所以header
在这里看起来不错。您使用的是哪个HTTP客户端?
答案 2 :(得分:1)
一个电话,就像使用CURL请求另一个页面一样? header()函数仅适用于Web浏览器< - >服务器通信。它不会影响服务器端脚本对其他Web服务器的任何请求。为此,您需要修改您正在使用的特定方法,例如卷曲或流。
对于卷曲,请参见CURLOPT_HTTPHEADER
此处:http://php.net/curl_setopt