php版微信公众账号第三方管理工具开发简明教程


Posted in PHP onSeptember 23, 2016

本文讲述了php版微信公众账号第三方管理工具开发方法。分享给大家供大家参考,具体如下:

最近在捣鼓微信公共平台提供的API,等确实一个获取用户信息的API。

所以没有办法,只能自己去获取,手动填写当然可以解决问题,当然编程不就是为了让生活变的更简单么?

当然,远程抓取微信公共平台数据的想法就油然而生,当然第一个想到了CURL。

CURL可以远程提交表达,我感觉微信是提议让我们怎么的,只要不是恶意刷接口,就不会出现验证码。

主要注意的几个问题:

① 远程登录接口是时候的HTTPS协议。
② 登录成功后页面有跳转。
③ 返回的HTML页面是可以直接输出的。

下面展示了一个CURL的具体写法

//微信远程登录绑定账号
  public function Curl_login($username,$pwd){
  $config_token = "XiaoDengPHP";
  $pwd = md5($pwd);
  $url = "https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN";
  $postArray = array("username=".$username,"pwd=".$pwd,"imgcode=","f=json");
  $fields = implode("&", $postArray);
  $filedir = $_SERVER['DOCUMENT_ROOT']."/Cookies";
  $cookie_file = $filedir."/cookie.txt";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); //表示是https协议提交
  curl_setopt($ch, CURLOPT_HEADER, 0); //不返回header部分
  curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
  curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); //生产Cookies并保存在指定目录下
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
  curl_setopt($ch, CURLOPT_REFERER,"https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN"); //跳转指向
  $result = curl_exec($ch);
  return json_decode($result);
  // 关闭CURL会话
  curl_close($ch);
}

上面这个方法就实现了,远程登录微信公共平台,接下来的事,就是去让账号变成开发者模式,一样的CURL。

注意这次的curl要带上cookies而不是生产cookies

重点代码在于验证服务器的相应,你需要设置一个服务器的连接和一个token

public function auth($token)
{
    $data = array(
    $_GET['timestamp'],
    $_GET['nonce'],
    $token);
    $sign = $_GET['signature'];
    sort($data);
    $signature = sha1(implode($data));
    if($signature === $sign){
       echo ($_GET['echostr']);
     exit;
    }else{
     return false;
    }
}

这样如果开通成功了,应该会返回一个MES=302的json数据和一个微信平台认证的token的信息。

只要你细心,你就会发现,微信连接里面TOKEN是一个动态变化的,但有是在一段时间内不变的。

所以你需要这个token来构造URL,来获取其他页面信息。

但开发现过程中,你一定遇到一个很崩溃的问题。

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

PHP 相关文章推荐
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
php实现的mongodb操作类实例
Apr 03 PHP
php强制用户转向www域名的方法
Jun 19 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
php中序列化与反序列化详解
Feb 13 PHP
PHP中危险的file_put_contents函数详解
Nov 04 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
Laravel框架下载,安装及路由操作图文详解
Dec 04 PHP
基于PHP实现堆排序原理及实例详解
Jun 19 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 #PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 #PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 #PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 #PHP
php利用递归实现删除文件目录的方法
Sep 23 #PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 #PHP
php分页原理 分页代码 分页类制作教程
Sep 23 #PHP
You might like
php从文件夹随机读取文件的方法
2015/06/01 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
实例讲解php数据访问
2016/05/09 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
原生js实现随机点餐效果
2019/12/10 Javascript
Element-UI+Vue模式使用总结
2020/01/02 Javascript
js实现简单的打印表格
2020/01/15 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python实现简单状态框架的方法
2015/03/19 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
Tensorflow 实现释放内存
2020/02/03 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
小学清明节活动方案
2014/03/08 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android