温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在php中利用curl模拟浏览器访问

发布时间:2021-03-23 16:31:28 阅读:407 作者:Leah 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

怎么在php中利用curl模拟浏览器访问?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

原理

服务器主要通过User-Agent识别客户端是何种设备

User-Agent是Http协议中的一部分,属于头域的组成部分。基本格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息。

具体方法如下

/**
 * curl获取数据
 * @param $url
 * @return mixed
 */
function get_url($url)
{
  $ifpost 0;
  $datafields '';
  $cookiefile '';
  $v false;
  //构造随机ip
  $ip_long array(
    array('607649792''608174079'), //36.56.0.0-36.63.255.255
    array('1038614528''1039007743'), //61.232.0.0-61.237.255.255
    array('1783627776''1784676351'), //106.80.0.0-106.95.255.255
    array('2035023872''2035154943'), //121.76.0.0-121.77.255.255
    array('2078801920''2079064063'), //123.232.0.0-123.235.255.255
    array('-1950089216''-1948778497'), //139.196.0.0-139.215.255.255
    array('-1425539072''-1425014785'), //171.8.0.0-171.15.255.255
    array('-1236271104''-1235419137'), //182.80.0.0-182.92.255.255
    array('-770113536''-768606209'), //210.25.0.0-210.47.255.255
    array('-569376768''-564133889'), //222.16.0.0-222.95.255.255
  );
  $rand_key mt_rand(09);
  $iplong2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));
//模拟http请求header头
  $header array("Connection: Keep-Alive","Accept: text/html, application/xhtml+xml, */*""Pragma: no-cache""Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3","User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)",'CLIENT-IP:'.$ip,'X-FORWARDED-FOR:'.$ip);
  $ch curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HEADER, $v);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  $ifpost && curl_setopt($ch, CURLOPT_POST, $ifpost);
  $ifpost && curl_setopt($ch, CURLOPT_POSTFIELDS, $datafields);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  $cookiefile && curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
  $cookiefile && curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
  curl_setopt($ch,CURLOPT_TIMEOUT,60); //允许执行的最长秒数
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  $ok curl_exec($ch);
  curl_close($ch);
  unset($ch);
  return $ok;
}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×