您的位置:首页 > 移动开发 > 微信开发

微信开发服务器配置环境

2018-04-07 22:10 351 查看
第一步
        填写接口配置信息,包括:URL(必须以http://或https://开头),Token(口令,必须为英文或数字)。需要服务器,填写的URL需要正确响应微信发送的Token验证。第二步        验证消息的确来自微信服务器,需要写php代码来实现。
<?php
//定义常量token为123456
define("TOKEN", "123456");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();

class wechatCallbackapiTest
{
public function run()
{
$echoStr = $_GET["echostr"];//得到echostr(随机数)

if($this->checkSignature()){//判断
echo $echoStr;//最重要!!!
exit;
}

}
//回复的消息
public function responseMsg()
{
$postStr=file_get_contents("php://input");//获得微信发来的字符串
file_put_contents('msg.txt', $postStr);//将字符串写入msg.txt文件中
//判断得到的字符串是否为空
if (!empty($postStr)){
// 将字符串为SimpleXMLElement对象,然后输出
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;//发送者的name
$toUsername = $postObj->ToUserName;//收到信息的name
$keyword = trim($postObj->Content);//去掉空格
$time = time();//时间戳
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
    </xml>";
//判断内容是否为空
if(!empty( $keyword ))
{
$contentStr = $this->test($keyword);
$msgType = "text";
$contentStr = "Welcome to wechat world!";//公众号将自动回复的消息
}else{
echo "Input something...";
}

}else {
echo "";
exit;
}
}
//获取参数,判断验证信息是否来自微信服务器
private function checkSignature()
{
//得到 signature:微信加密签名,timestamp:时间戳,nonce:随机数
         $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;
}
}
}
?>

最一开始的时候先调用run方法,后再调用responseMsg方法。将写好的php文件传到自己服务器上,利用url网址能正常访问php代码,口令和url都对,接口就配置成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐