这是命令行:
curl --silent --header "Authorization: MyLogin auth=xxxxxxxxxxxxxxxxxxx" "https://www.myweb.com/"
如果这就是我所做的(尝试了各种各样的头部变化)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.myweb.com");
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Authorization: MyLogin','auth: xxxxxxxxxxxxxxxxxxx'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
我想我搞砸了头部分,任何帮助将非常感激。谢谢。
添加*这是我实际使用的
http://code.google.com/apis/gdata/articles/using_cURL.html验证
我刚刚重写了它,现在它工作了,这是我的:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: GoogleLogin auth=$authCode"));
//curl_setopt($ch, CURLINFO_HEADER_OUT, true); // for debugging the request
//var_dump(curl_getinfo($ch,CURLINFO_HEADER_OUT)); //for debugging the request
$response = curl_exec($ch);
curl_close($ch);
echo $response;
我认为Authorization
标头应该作为一个字符串发送,而不是作为2个标头值。
试试这行:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: MyLogin auth: xxxxxxxxxxxxxxxxxxx'));
也许你可以检查CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST false以防止任何SSL证书问题....还有,你得到的错误代码是什么,比如403禁止访问…任何关于错误或基于详细日志的信息都将非常有用……希望我的建议能有所帮助……
干杯! !