PHP 微信公众平台模拟登陆问题

李到奥 发布于 2014/07/22 09:44
阅读 1K+
收藏 0
PHP

微信公众平台模拟登陆时 一直返回bool(false)如下图所示

以下是我的代码,麻烦各位帮忙看看,谢谢了

<?php

class wechat{

private $username;
private $password;
private $cookie;

public function __construct($username,$password){
$this->username = $username;
$this->password = $password;
$this->dologin();
}

private function dologin(){
$header = array(
'Accept:application/json, text/javascript, */*; q=0.01',
'Accept-Encoding:gzip,deflate,sdch',
'Accept-Language:zh-CN,zh;q=0.8',
'Connection:keep-alive',
'Host:mp.weixin.qq.com',
'Origin:https://mp.weixin.qq.com',
'Referer:https://mp.weixin.qq.com/',
);

$PostData = array(
           "username" => $this->username,
           "pwd" => md5($this->password),
           "f" => "json"
       );
$useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36";
$url = "https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
       curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
       curl_setopt($ch, CURLOPT_USERAGENT,$useragent);
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
       curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
       curl_setopt($ch, CURLOPT_POST, 1);
       curl_setopt ($ch, CURLOPT_POSTFIELDS, $PostData);
       curl_setopt($ch, CURLOPT_HEADER, 1);
       curl_setopt($ch, CURLOPT_COOKIE, $this->cookie);
       curl_setopt($ch, CURLOPT_TIMEOUT, 30);
       $result = curl_exec($ch);
curl_close($ch);
var_dump($result);
}
}

new wechat("账号","密码");
加载中
0
帖子列表
帖子列表
你确定是md5传过去?
李到奥
李到奥
恩, 我有把密码直接改成MD5加密后的字符串也是这样
0
每天打起精神即可
每天打起精神即可
貌似curl没办法模拟了. 原因尚未找到.  其实腾讯只要加个验证码基本就蛋疼了,所以最好不要做模拟登陆这个平台去操作什么.
李到奥
李到奥
你好,我加了curl_setopt($ch, CURLOPT_SSLVERSION, 3); 设置了SSL的版本似乎可以了,不过还是谢谢你提醒
返回顶部
顶部