微信开发服务器配置环境

第一步

        填写接口配置信息,包括: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都对,接口就配置成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值