将cURL命令行转换为PHP


Converting cURL command line to PHP

这是命令行:

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_VERIFYPEERCURLOPT_SSL_VERIFYHOST false以防止任何SSL证书问题....还有,你得到的错误代码是什么,比如403禁止访问…任何关于错误或基于详细日志的信息都将非常有用……希望我的建议能有所帮助……

干杯! !