php使用curl伪造浏览器访问操作示例


Posted in PHP onSeptember 30, 2019

本文实例讲述了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(0, 9);
  $ip= long2ip(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;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP MemCached高级缓存配置图文教程
Aug 05 PHP
php长字符串定义方法
Jul 12 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
yii2超好用的日期组件和时间组件
May 05 PHP
一波PHP中cURL库的常见用法代码示例
May 06 PHP
php时间函数用法分析
May 28 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
php组合排序简单实现方法
Oct 15 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 PHP
PHP反射基础知识回顾
Sep 10 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 #PHP
Laravel框架控制器的request与response用法示例
Sep 30 #PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
Sep 30 #PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 #PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 #PHP
laravel实现登录时监听事件,添加登录用户的记录方法
Sep 30 #PHP
php7下的filesize函数
Sep 30 #PHP
You might like
PHP中spl_autoload_register函数的用法总结
2013/11/07 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
layui表格实现代码
2017/05/20 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
Python多线程学习资料
2012/12/19 Python
用实例说明python的*args和**kwargs用法
2013/11/01 Python
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
python如何重载模块实例解析
2018/01/25 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
利用PyCharm Profile分析异步爬虫效率详解
2019/05/08 Python
Python datetime 如何处理时区信息
2020/09/02 Python
python开发一款翻译工具
2020/10/10 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
编辑求职信样本
2013/12/16 职场文书
二年级小学生评语
2014/04/21 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
追悼词范文大全
2015/06/23 职场文书
Python基础之元组与文件知识总结
2021/05/19 Python