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程序设计有所帮助。