PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
本文实例讲述了PHP基于curl实现模拟微信浏览器打开微信链接的方法。分享给大家供大家参考,具体如下:
网络上没有可以直接打开微信的浏览器但是我们可以模拟浏览器
微信浏览器的HTTP_USER_AGENT
在iPhone下,返回
Mozilla/5.0(iPhone;CPUiPhoneOS5_1likeMacOSX)AppleWebKit/534.46(KHTML,likeGecko)Mobile/9B176MicroMessenger/4.3.2
在Android下,返回
Mozilla/5.0(Linux;U;Android2.3.6;zh-cn;GT-S5660Build/GINGERBREAD)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1MicroMessenger/4.5.255
不难发现微信浏览器为MicroMessenger,并且有版本号,也可以判断手机类型为iPhone还是Android
php模拟微信浏览器使用如下:
get方式
functionget($url,$referer,$cookie){ $header=array(); $header[]='Accept:image/gif,image/jpeg,image/pjpeg,image/pjpeg,application/x-ms-application,application/x-ms-xbap,application/vnd.ms-xpsdocument,application/xaml+xml,*/*'; $header[]='Connection:Keep-Alive'; $header[]='Accept-Language:zh-cn'; $header[]='Cache-Control:no-cache'; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,1); curl_setopt($ch,CURLOPT_HTTPHEADER,$header); curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0(iPhone;CPUiPhoneOS5_1likeMacOSX)AppleWebKit/534.46(KHTML,likeGecko)Mobile/9B176MicroMessenger/4.3.2'); curl_setopt($ch,CURLOPT_REFERER,$referer); curl_setopt($ch,CURLOPT_COOKIE,$cookie); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_TIMEOUT,10); $result=curl_exec($ch); curl_close($ch); return$result; } echoget('http://wxt.wedoor.com/wxtAction.do?method=showyl&id=f20c503cac9349308c3a87ecbae5908c&scene=1','','');
post方式
functionpost($url,$data,$referer,$cookie){ $header=array(); $header[]='Accept:image/gif,image/jpeg,image/pjpeg,image/pjpeg,application/x-ms-application,application/x-ms-xbap,application/vnd.ms-xpsdocument,application/xaml+xml,*/*'; $header[]='Connection:Keep-Alive'; $header[]='Accept-Language:zh-cn'; $header[]='Cache-Control:no-cache'; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_HEADER,1); curl_setopt($ch,CURLOPT_HTTPHEADER,$header); curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0(Linux;U;Android2.3.6;zh-cn;GT-S5660Build/GINGERBREAD)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1MicroMessenger/4.5.255'); curl_setopt($ch,CURLOPT_REFERER,$referer); curl_setopt($ch,CURLOPT_COOKIE,$cookie); curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data)); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_TIMEOUT,10); $result=curl_exec($ch); curl_close($ch); return$result; } echopost('http://wxt.wedoor.com/wxtAction.do?method=showyl&id=f20c503cac9349308c3a87ecbae5908c&scene=1','','','');
如此这般就可以了
如果要做盗链
if(strpos($_SERVER["HTTP_USER_AGENT"],"MicroMessenger")) echo"Welcometowechatword"; else echo"http/1.1401Unauthorized";
更多关于PHP相关内容感兴趣的读者可查看本站专题:《phpcurl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》及《PHP中json格式数据操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。