1、服务器配置
在“微信公众平台”上将“服务器配置”启用,填写“服务器地址”(即关注者输入消息后调用的回调接口,返回回复文本),“令牌”(在接口验证中要用到),
“消息加解密密钥”、加解密方式暂时设为明文模式,先简单入手。
2、配置接口
public function valid()
{
$echoStr = $_GET["echostr"];
if ($echoStr) {
if ($this->checkSignature()) {
echo $echoStr;
exit;
}
}
}
当第一步启用的时候,必须先调用这个方法,收到"echostr"后再验证(checkSignature)是否是我们的微信公众号发来的,如果是则把"echostr"回传回去,这个时候第一步点击启用便会成功,否则启用会失败,这个可以用来测试我们这个接口是否写对了。只要第一步启用成功,那之后便不需要再进行验证了,只需直接拿到传过来的信息再进行分析处理。
其中checkSignature方法如下:
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = "token";
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
return true;
} else {
return false;
}
}
其中$token值便是第一步中设置的token值,记得替换下。
3、处理逻辑
public function responseMsg()
{
$xml_str = file_get_contents('php://input');
if (empty($xml_str)) {
die('');
}
if (!empty($xml_str)) {
// 解析该xml字符串,利用simpleXML
libxml_disable_entity_loader(tru