0
我试图卷曲(在PHP中)一个URL并在请求中发送自定义标头。但是,我还需要能够查看返回的响应头。我正在查询一个我不能控制的外部API。发送自定义HTTP标头并获得响应标头 - 卷曲
我试过使用CURLOPT_HTTPHEADER和CURLOPT_HEADER选项,但它们似乎并不能很好地协同工作。 CURLOPT_HEADER似乎覆盖了请求标题,所以我无法验证我的请求,但是我可以在响应中查看标题。如果我将CURLOPT_HEADER取出,则可以成功进行身份验证,但无法查看标题。
PHP代码:
$url = "http://url-goes-here";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$headers = array("X-Auth-Token: $token");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 1);
$out = curl_exec($ch);
curl_close($ch);
我试过了,但仍然有同样的问题。 – user5331188
在* $ headers被初始化并传入curl之前,您是否尝试设置CURLOPT_HEADER *? (在黑暗中拍摄,但没有看到脚本和远程端点发送和接收的内容,就很难调试。) –
尝试过,但也没有奏效。您还想了解什么来帮助调试该问题?目前,我得到一个401未经授权的响应头,因为令牌没有在头中正确发送。 – user5331188