加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – CURL用户代理

发布时间:2021-07-06 05:22:17 所属栏目:大数据 来源: https://www.jb51.cc
导读:那么如果客户端是curl,我如何检查使用codeigniter,然后为它返回不同的东西? 解决方法: 您可以在使用cURL时伪造用户代理,因此根据您知道它是cURL请求时发送的用户代理,这是毫无意义的. 例如:我最近写了一个应用程序,它从谷歌获取网址的页面.现在Google不喜

那么如果客户端是curl,我如何检查使用codeigniter,然后为它返回不同的东西?

解决方法:

您可以在使用cURL时伪造用户代理,因此根据您知道它是cURL请求时发送的用户代理,这是毫无意义的.

例如:我最近写了一个应用程序,它从谷歌获取网址的页面.现在Google不喜欢这样,所以它只允许某个用户代理访问其pagerank服务器.解?使用cURL和Google欺骗用户代理将不再是明智之举.

故事的道德:cURL用户代理绝不可靠.

如果您仍想这样做,那么您应该能够像平常一样获得传递的用户代理

$userAgent=$_SERVER['HTTP_USER_AGENT'];

编辑快速测试证明了这一点:

dumpx.PHP:

<?PHP

    $url="http://localhost/dump.PHP";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    if($_GET['u']==y) {  
    curl_setopt($ch, CURLOPT_USERAGENT, "booyah!");
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    //curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
    curl_setopt ($ch, CURLOPT_HEADER, 0);
    $exec=curl_exec ($ch);
?>

dump.PHP:

<?PHP
    var_dump($_SERVER);
?>

案例1:http://localhost/dumpx.php?u=y

 'HTTP_USER_AGENT' => string 'booyah!' (length=7)

案例2:http://localhost/dumpx.php?u=n

没有$_SERVER [‘HTTP_USER_AGENT’]

这证明curl没有默认的用户代理:它不会在请求头中传递它

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读