【问题标题】:PHP cURl: Can I check if my user agent is working?PHP cURl:我可以检查我的用户代理是否正常工作吗?
【发布时间】:2009-11-24 08:12:44
【问题描述】:

我正在编写一个 cURL 脚本,但我如何检查它在访问网站时是否正常工作和通过?

 $ckfile = '/tmp/cookies.txt';
    $useragent= "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0_1 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7A400";


    $ch = curl_init ("http://website.com");

    curl_setopt($ch, CURLOPT_AUTOREFERER , true); 
          => true
    curl_setopt($ch, CURLOPT_USERAGENT, $useragent); // set user agent
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    $output = curl_exec ($ch);
    curl_close($ch);

【问题讨论】:

    标签: php curl


    【解决方案1】:

    只需在您的服务器上创建一个这样的 php 页面,然后在您自己的 url 上尝试您的脚本

    var_dump($_SERVER);
    

    并检查HTTP_USER_AGENT 字符串。

    您也可以通过查看Apache 日志来实现相同的目的。

    但我很确定 curl 正在设置 User-Agent 字符串,就像它应该的那样;-)

    【讨论】:

    • 感谢愤怒!有没有办法让我私下联系你?
    • @Doug:为了? --------------------------
    • 想问你更多关于cURL的问题,但你不想问也没关系。
    • @Doug:不是真的我不想只是我认为 SO 用户比我更可用^^并且会提供尽可能多的答案(甚至更多);-)
    【解决方案2】:

    您会发现 FF 扩展 LiveHTTPHEaders 将帮助您准确了解使用正常浏览会话时标头发生的情况。

    http://livehttpheaders.mozdev.org/

    这将增加您对目标服务器如何响应的理解,甚至显示它是否在内部重定向您的请求。

    【讨论】:

    • 但是,这不会检查他在 PHP 代码中设置的 UA 是否有效......根本......
    • 是的,但是通过查看 UA 的工作示例,您至少知道 1 有效,因此可以消除该变量,然后是另一个,然后是另一个 ...
    猜你喜欢
    • 2019-05-12
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2015-11-19
    • 1970-01-01
    相关资源
    最近更新 更多