本文实例讲述了PHP基于curl实现模拟微信浏览器打开微信链接的方法。分享给大家供大家参考,具体如下:

网络上没有可以直接打开微信的浏览器 但是我们可以模拟浏览器

微信浏览器的HTTP_USER_AGENT

在iPhone下,返回

Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2

在Android下,返回

Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255

不难发现微信浏览器为 MicroMessenger ,并且有版本号,也可以判断手机类型为iPhone还是Android

php 模拟 微信浏览器 使用如下:

get 方式

function get($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; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/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;

}

echo get('http://wxt.wedoor.com/wxtAction.do?method=showyl&id=f20c503cac9349308c3a87ecbae5908c&scene=1','','');

post方式

function post($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; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/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;

}

echo post('http://wxt.wedoor.com/wxtAction.do?method=showyl&id=f20c503cac9349308c3a87ecbae5908c&scene=1','','','');

如此这般就可以了

如果要做盗链

if(strpos($_SERVER["HTTP_USER_AGENT"],"MicroMessenger"))

echo "Welcome to wechat word";

else

echo "http/1.1 401 Unauthorized";

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

Java模拟打开微信链接_PHP基于curl实现模拟微信浏览器打开微信链接的方法示例...相关推荐

  1. 聊聊微信内打开H5链接时如何自动跳转外部浏览器打开

    很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们实现微信跳转功能即可.下面跟大家聊聊微信内如何实现自动跳转外部浏览器打开网页 功能目的 生 ...

  2. 微信扫描二维码调用手机外部浏览器打开下载apk的链接

    此方法可以实现微信内置浏览器跳转到手机其它浏览器,现在网上其它的方法都只是一个页面,让访问者自己手动点右上角浏览器打开,而这个不同,是可以直接自动跳转的. 安卓访问时可以直接自动跳转浏览器:IOS就复 ...

  3. java克鲁斯卡尔算法_Java语言基于无向有权图实现克鲁斯卡尔算法代码示例

    所谓有权图,就是图中的每一条边上都会有相应的一个或一组值.通常情况下,这个值只是一个数字 如:在交通运输网中,边上的权值可能表示的是路程,也可能表示的是运输费用(显然二者都是数字).不过,边上的权值也 ...

  4. 模拟仿真最终利用计算机,基于计算机仿真模拟实验的应用分析

    计算机技术应用 t h e A p p l i c a t i o n o f C o mp u t e r T e c h n o l o g y 基于计算机仿真模拟实验的应用分析 文/吴婷 Mi ...

  5. java 创建本地文件、写入文本内容、调用IE浏览器打开

    Windows 创建本地文件.写入文本内容.调用IE浏览器打开 try {//先创建目录文件夹,如果直接创建文件会提示找不到对应的路径File fileDir = new File("C:/ ...

  6. win10浏览器加载很慢_win10中的浏览器打开网速特别慢是怎么回事_win10浏览器打开慢如何处理...

    有不少win10系统用户反映说要打开浏览器浏览网页的时候,发现网速特别慢,下载速度依然很快的情况下居然出现打开网页变慢的情况,想必很多用户不知道要怎么解决吧,这就给大家带来win10浏览器打开慢的详细 ...

  7. xp打开html页面不正常,解答xp系统2345浏览器打开网页显示异常的具体方法

    有部分朋友反映xp系统2345浏览器打开网页显示异常的情况不知道应该怎么解决,然后就向我打探有没有什么办法可以处理xp系统2345浏览器打开网页显示异常的方法,针对这个问题小编就整理总结出xp系统23 ...

  8. java 单例基类_PHP基于单例模式实现的数据库操作基类

    本文实例讲述了PHP基于单例模式实现的数据库操作基类.分享给大家供大家参考,具体如下: 配置文件: $db = array( 'host'=>'localhost', 'user'=>'r ...

  9. 微信小程序 | 基于ChatGPT实现模拟面试小程序

    Pre:效果预览 ① 选择职位进行面试 ② 根据岗位职责进行回答 一.需求背景 这两年IT互联网行业进入寒冬期,降本增效.互联网毕业.暂停校招岗位的招聘,各类裁员.缩招的情况层出不穷!对于这个市场来说 ...

最新文章

  1. Servlet优化之BaseServlet
  2. 【科普】从HTTP到HTTP/3的发展简史
  3. springcloud feign 加上hystrix的流程
  4. python双向索引什么意思_python字典支持双向索引吗
  5. android 自定义loading,android_自定义Loading框
  6. P2403 [SDOI2010]所驼门王的宝藏(强连通分量)(拓扑排序)
  7. 2019 牛客多校第三场 B Crazy Binary String
  8. PLSQL连接Oracle报错 ORA-12154 标识符
  9. 数据结构上机实践第八周项目7—对称矩阵的压缩存储及基本运算
  10. 在ubuntu中搭建guacamole
  11. 软件测试(四)——正交实验法、功能图法、其他测试用例设计方法等
  12. 关于利用Windows的Paint 3D制作透明背景图片的说明
  13. nod32系统更新服务器,Nod32官方升级服务器列表
  14. 基于GitHub的敏捷学习方法之道与术
  15. Flutter中的圆角和圆形效果
  16. 农夫过河c语言算法,农夫过河
  17. 机器学习(一)——基础概念
  18. 第一行有一个整数,表示数字拼图个数 n。第二行有 n 个 整数,表示给出的 n 个数字拼图 上的数字ai。
  19. 通过平面向量角度认知世界
  20. win10系统休眠文件删除

热门文章

  1. 服务器僵尸猪人刷怪塔怎么制作,我的世界僵尸猪人刷怪塔制作思路 猪人塔介绍...
  2. 【已解决】无法初始化设备 PRN
  3. 糯米团—重制“iPhone团购信息客户端”(三)
  4. R绘图 | 一幅小提琴图的美化之旅
  5. 网络安全行业需要考的证书有哪些?
  6. IntelliJ IDEA 快捷键说明大全(官方help文档翻译)
  7. PowerMILL 2018 MTD机床搭建视频教程
  8. 传感器:DS1302时钟芯片及驱动代码
  9. 【Cocos Creator游戏开发教程】仿微信趣味画赛车小游戏(二)物理刚体关节
  10. mysql gh 划线_MySQL在线DDL gh-ost 使用说明