⑴ php能模拟微信登陆和发信息吗
你把收到信息原封不动的发给第三哪方,第三方回复的你在回复给易宝不就行了
⑵ 怎么在电脑浏览器上伪装微信浏览器
额,简单说一下吧,微信浏览器本质上是X5内核,基于Webkit制作。所以,平常的浏览器是什么样,就会展现什么样。之所以伪装不了,与浏览器无关,而是在于ID传入。
微信绑定了一个回调ID,这个ID就是微信用户的ID,通过这个来判断是否在微信端打开。
所以,并不是浏览器的问题,而是这个ID回调的问题。
⑶ 如何用浏览器模拟微信浏览器访问需要OAuth2.0网页授权的页面
有以下限制,
1.必须在微信打开
2.微信页面授权
其中第一步比较容易实现,修改下ua(user-agent),让其携带“MicroMessenger”字段即可。
第二部则是由于微信浏览器内置一些js库,在其他浏览器是无内置的,所以在chrome网页授权基本是无效的。不过可以用其他办法略过授权。
解决方案:1、是伪装微信浏览器,使其绕过微信验证,2、获取cookie,跳过授权验证。
2、 准备工具
1.chrome,主要是用于修改user-agent.
2.fiddler抓包工具(安装正式抓取https包)
一,修改UA
打开Chrome浏览器,按下F12进入手机调试模式
选择Edit
点击Add custom device
输入ua,UA通过fiddler抓包获取
我的 User-Agent是: Mozilla/5.0 (Linux; android 6.0; vivo Y67A Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043508 Safari/537.36 MicroMessenger/6.5.13.1100 NetType/WIFI Language/zh_CN
可以直接使用这个UA,也可以抓取自己的ua
第二步,添加cookie
fiddler抓取cookie
在console下面输入 document.cookie=“(cookie通过抓包获取)”,后回车
打开Chrome可以看到,我添加的cookie成功
chrome打开地址,不会报错啦
⑷ PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
判断是否是微信浏览器:
function is_weixin(){
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
return true;//是微信浏览器。返回true
}
return false;//不是微信浏览器。返回false
}
判断手机或pc
function isMobile()
{
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
{
return true;
}
// 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset ($_SERVER['HTTP_VIA']))
{
// 找不到为flase,否则为true
return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
}
// 脑残法,判断手机发送的客户端标志,兼容性有待提高
if (isset ($_SERVER['HTTP_USER_AGENT']))
{
$clientkeywords = array ('nokia',
'sony',
'ericsson',
'mot',
'samsung',
'htc',
'sgh',
'lg',
'sharp',
'sie-',
'philips',
'panasonic',
'alcatel',
'lenovo',
'iphone',
'ipod',
'blackberry',
'meizu',
'android',
'netfront',
'symbian',
'ucweb',
'windowsce',
'palm',
'operamini',
'operamobi',
'openwave',
'nexusone',
'cldc',
'midp',
'wap',
'mobile'
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
{
return true;
}
}
// 协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER['HTTP_ACCEPT']))
{
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))
{
return true;
}
}
return false;
}
⑸ 用php怎么让微信内置浏览器跳转到手机其他浏览器
趁着页面还在加载快速点右上角按键就会弹出菜单,里面就有用其他浏览器打开
⑹ PHP判断是微信打开还是浏览器打开
只要判断进入页面的浏览器类型是否为微信的内置浏览器就可以了:
if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger')!==false){
return'从微信内置浏览器进入';
}else{
return'从其他浏览器进入';
}
⑺ PHP视频网站问题
使用用户的openid来解决无需注册的问题并判断用户是否付费,(但是这一步是有一个用户授权的确认页面,如果是公众号之内打开,就没有这个授权页面),微信支付之后,记录用户的openid,然后跳转到播放页面,播放页面里再次验证用户openid,存在付款页面的情况下,再加载视频资源。然后播放页面要判断是否是在微信端打开(这样做的目的是为了防止用户付款一次之后,就在电脑端查看到视频资源地址,但是专业人士还是能在电脑端模拟微信浏览器来获取到地址资源,不过对普通用户而言,已经是足够了)
⑻ “微信公众平台模拟登陆 php模拟微信公众平台绑定开发者数据 php 模拟微信公众平台登陆 ”是什么意思
不是仿,是直接登录到微信公众平台,但是没有通过他们的登录界面登录进去,而是用程序提交用户名密码登录进去,然后进行相关操作,往相关接口提交数据
⑼ php如何模拟浏览器行为
// 用户名
$login = ‘username’;
//密码
$password = ‘password’;
//163的用户登陆地址
$url = “https://reg.163.com/logins.jsp”;
//post 要提交的数据
$fields = “verifycookie=1&style=16&proct=mail163&username=”.$login.”&password=”.$password.”&selType=jy&remUser=&secure=on&%B5%C7%C2%BC%D3%CA%CF%E4=%B5%C7%C2%BC%D3%CA%CF%E4″;
// 用来存放cookie的文件
$cookie_file = dirname(__FILE__).”/cookie.txt”;
// 启动一个CURL会话
$ch = curl_init();
// 要访问的地址
curl_setopt($ch, CURLOPT_URL, $url);
// 对认证证书来源的检查,0表示阻止对证书的合法性的检查。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
//模拟用户使用的浏览器,在HTTP请求中包含一个”user-agent”头的字符串。
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”);
// 发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curl_setopt($ch, CURLOPT_POST, 1);
//要传送的所有数据,如果要传送一个文件,需要一个@开头的文件名
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
//连接关闭以后,存放cookie信息的文件名称
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
// 包含cookie信息的文件名称,这个cookie文件可以是Netscape格式或者HTTP风格的header信息。
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
// 设置curl允许执行的最长秒数
//curl_setopt($ch, CURLOPT_TIMEOUT, 6);
// 获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// 执行操作
$result = curl_exec($ch);
if ($result == NULL) {
echo “Error:
“;
echo curl_errno($ch) . ” – ” . curl_error($ch) . ”
“;
}
// 关闭CURL会话
curl_close($ch);
上面这个例子相对简单,因为用户名和密码可以明文传输,而且登陆也不需要验证码。qq.com的模拟登陆相对就麻烦多了,首先要突破验证码这关,然后由于 QQ密码是经过javascript加密后传输的,登陆界面也要模拟出来,下一篇文章再继续深入谈谈QQ的模拟登陆。