1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 微信公众号开发者自动回复php 微信公众平台开发者模式的启用并自动回复

微信公众号开发者自动回复php 微信公众平台开发者模式的启用并自动回复

时间:2018-10-30 23:01:48

相关推荐

微信公众号开发者自动回复php 微信公众平台开发者模式的启用并自动回复

这篇文章介绍的内容是关于微信公众平台开发者模式的启用并自动回复,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

首先,什么是开发者模式?

开发者模式,就是先验证你的服务器地址,验证完成之后,用户一旦给微信公众号发消息,微信的就会把微信用户的消息转发到这个地址上。你的服务器接到数据后,然后你自己设计一套程序,输出一个结果,再由微信服务器返回给用户。

个人学习开发建议使用测试号

微信测试号地址:http://mp./debug/cgi-bin/sandbox?t=sandbox/login

登录后,在接口配置信息中填写刚才生成的URL地址和Token.

URL地址就是二级域名地址。

Token在程序中固定为 weixin

填写好提交,提示配置成功!

如果提示“token验证失败”,多重次几次。<?php

//define your token

define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();

$wechatObj->run();

class wechatCallbackapiTest

{

public function run(){

if($this->checkSignature() == false){

die("非法请求");

}

if(isset($_GET["echostr"])){

$echoStr = $_GET["echostr"];

echo $echoStr;

exit;

}else{

$this->responseMsg();

}

}

public function responseMsg(){

//get post data, May be due to the different environments

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

// $postStr = file_get_contents("php://input");

file_put_contents('msg.txt',$postStr, FILE_APPEND);

//extract post data

if (!empty($postStr)){

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

$fromUsername = $postObj->FromUserName;

$toUsername = $postObj->ToUserName;

$keyword = trim($postObj->Content);

$time = time();

$textTpl = "

%s

0

";

if(!empty($keyword)){

$msgType = "text";

$contentStr = "你好!";

// $contentStr = "hi!";

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

echo $resultStr;

}else{

echo "Input something...";

}

}else {

echo "";

exit;

}

}

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;

}

}

}

?>

相关推荐:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。