php 伪造微信浏览器头信息,php使用curl伪造浏览器访问操作示例
本文实例讲述了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使用curl伪造浏览器访问操作示例相关推荐
- JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。...
Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本. 对象属性: 查看浏览器的名称和版本,代码如下: <script type=" ...
- 如何屏蔽PHP浏览器头信息X-Powered-By
将 php.ini 中,将 "expose_php = On" 改为 "expose_php = Off"
- firefox伪造请求头信息,模拟手机访问网站
大概有两年没有去过chinaz的论坛了,昨天上去逛了逛.正好看到一个朋友在问百度是如何判断是不是手机登录的.有几个热心朋友回答的是js,我把百度首页的js看了下,没有找到一丝的手持设备判断的信息,我也 ...
- headerIP php_PHP使用curl伪造IP地址和header信息
curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_AD ...
- HttpServletRequest请求中获取操作系统,浏览器及浏览器版本信息
最近在开发中需要从request中获取操作系统,浏览器及浏览器版本信息.我们都知道通过request.getHeader("User-Agent")可以获取到.但是这样获取到的信息 ...
- 使用 user agent 判断微信内置浏览器版本信息
2019独角兽企业重金招聘Python工程师标准>>> 最近开发wap,仅用在微信浏览器上,部分功能需要判断微信浏览器 版本信息.其他功能类推:(注:获取到的userAgent就是纯 ...
- 查看浏览器响应头信息数据
获取浏览器响应头部信息 以Microsoft Edge和Google Chrome举例 一.Microsoft Edge浏览器(点击查看) 二.Google Chrome浏览器(点击查看) 以Micr ...
- js网页判断移动终端浏览器版本信息是安卓还是苹果ios,判断在微信浏览器跳转不同页面,生成二维码...
一个二维码,扫描进入网页,自动识别下载苹果和安卓客户端,判断网页如下,(只有苹果的微信不能自动跳转)所以加个微信判断. <!DOCTYPE html> <html><he ...
- 微信及企业微信内嵌浏览器内核信息及H5跑分数据-企业微信开发
加我微信li570467731,拉你进二百多人企业微信开发同行群(文末有二维码). 企业微信开发三部曲: <企业微信应用开发概述篇(免费)>已完结: <企业微信开发第三方应用开发篇& ...
最新文章
- .net项目文档生成工具使用
- 用python爬虫的基本步骤-Python爬虫入门:爬虫基础了解
- shell下输出字体颜色
- batch_size 和 fetch_size作用
- Acwing第 32 场周赛【完结】
- 网页性能优化04-函数节流
- 7_CentOS下安装和卸载AdobeReader
- js关闭setInterval及终止ajax请求
- 【技巧】搜狗输入法特殊技巧
- (17)Node.js第三方模块
- C/C++排序算法(6)堆排序
- 怎样从Mysql官网下载linux版本的mysql安装包
- Linux内核分析学习心得
- CC2530无线点灯
- lzg_ad:在CF卡上实现EWF功能
- Knoll Light Factory 3.2 for mac完整汉化版|灯光工厂 for mac中文版
- TM2008 preview4 / QQ2009 preview 聊天记录保存位置修改
- eda技术试卷_EDA技术试题库
- Corel VideoStudio X7 (64bit)安装
- 管理计算机找不到应用程序,Win7计算机管理提示找不到文件或没有关联的程序问题解决方法...
热门文章
- spark-dataframe与rdd的区别
- scala集合基本介绍
- discard python_Python学习第三天
- LeetCode81. 搜索旋转排序数组 II(二分查找)
- Keras——Keras简介、安装及backend
- tf.transpose()函数(转)
- javascript 的module 模块化
- Jquery.ajax发送参数调用.Net Mvc子方法返回一个子页面嵌入当前页
- 夺命雷公狗—angularjs—15—内置封装好的计时器$interval和$timeout
- 排序算法之 Inplace Merge Sort