微信随笔
来源:互联网 发布:网络舆情监测方法 编辑:程序博客网 时间:2024/05/16 18:40
验证服务器
准备
首先要有一个服务器,可以是租用也可以用免费空间.比如一个免费国外空间freevar.建个test.php,写上echo $_GET["echostr"];//这是微信服务器发来的随机数,能返回就证明这服务器能用.要验证的话可以加密然后和微信发过来的随机字符串匹配
然后在公众号后台的服务器配置里填上空间url(xxx.com/test.php),填上token(如'weixin').
EncodingAESKey随机生成
要安全就安全模式,不要安全要速度就明文
提交
过程
参数 描述
signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参 数、nonce参数。
timestamp 时间戳
nonce 随机数
echostr 随机字符串
首先微信服务器会用token+timestamp+nonce经过加密计算得出一个结果signature,然后把时间戳,随机数,加密结果加上一个随机字符串echostr用get发过来,然后你可以在公众号服务器中用这个加密过程计算一次看能不能和signature对上.能对上就证明在微信服务器上的token和公众号服务器上的token是一致的,这个是微信发过来的信息没有错了.然后你可以把微信发过来的随机数也发过去,微信也知道这个公众号服务器的确是你的服务器了.
连接完成
提交URL后微信第一次调用一次服务器的php文件创建一个文件里的类,静态的话应该还在服务器保留有(?).之后应该每一次有消息都会调用一次服务器配置的php文件,
/**
* "拿post上的数据"
* 基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来 *接收, 比如 text/xml 或者 soap 等等。
* 另外还有一项 php://input 也可以实现此这个功能
* php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。
* php://input 不能用于 enctype="multipart/form-data"。
*/
post方法代码:
<?php
/**
想用post方法传递数据
*/
$data='
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[this is a test]]></Content>
<MsgId>1234567890123456</MsgId>
</xml>
';
$url="localhost/b.php";
$header[]="Content-type:text/xml";//************
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);//**********
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_exec($curl);
curl_close($curl);
?>
- 微信随笔
- 随笔-接入微信SDK64位包报错
- 微信的崛起与未来(随笔小记)
- 微信开发学习随笔(未整理)
- 随笔:tab标签随手势左右滑动的渐变效果,类似微信
- 《生活随笔》相关内容将转移到个人微信公众号,本博客专注技术内容。
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- opengl渲染管线简述
- html学习笔记
- Sublime Text 3 3114注册激活码
- 数据结构---排序
- DOM4J入门
- 微信随笔
- CNN——架构上的一些数字
- Introducing OData
- Python 爬虫的工具列表
- tjut 3525
- java方法重载--参数类型转换
- 简单介绍一下微信公众号的开发流程
- Qt中使用Sleep()
- Eclipse 操作快捷键