zoukankan      html  css  js  c++  java
  • 微信学习之自动回复文本

    <?php 
    define("TOKEN","echo_server");
    
    function checkSignature(){
    	//获取GET参数
    	$signature=$_GET['signature'];
    	$nonce=$_GET['nonce'];
    	$timestamp=$_GET['timestamp'];
    	$echostr=$_GET['echostr'];
    	
    	//把nonce,timestamp,token组装到数组里并做排序
    	$tmpArr=array($nonce,$timestamp,TOKEN);
    	sort($tmpArr);
    	
    	//把数组中的元素合并成字符串
    	$tmpStr=implode($tmpArr);
    	
    	//sha1加密
    	$tmpStr=sha1($tmpStr);
    	
    	//判断加密后的字符串是否和signatures相等
    	if($tmpStr==$signature){
    		return true;
    	}
    	return false;
    }
    
    if(false==checkSignature()){
    	exit(0);
    }
    
    //获取echostr
    $echostr=$_GET['echostr'];
    if($echostr){
    	echo $echostr;
    	exit(0);
    }
    
    //获取post数据
    $PostData=$HTTP_RAW_POST_DATA;
    //判断post数据是否为空
    if(!$PostData){
    	echo "wrong input";
    	exit(0);
    }
    //解析xml字符串
    $xmlObj=simplexml_load_string($PostData,"SimpleXMLElement",LIBXML_NOCDATA);
    if(!$xmlObj){
    	echo "wrong input";
    	exit(0);
    }
    //获取FromUserName
    $fromUserName=$xmlObj->FromUserName;
    //获取ToUserName
    $toUserName=$xmlObj->ToUserName;
    //获取MsgType
    $msgType=$xmlObj->MsgType;
    
    if('text'!=$msgType){
    	$retMsg="只支持文本信息";
    }else{
    	$content=$xmlObj->Content;
    	$retMsg=$content;
    }
    
    //输出消息的xml模板
    $retTmp="<xml>
    			<ToUserName><![CDATA[%s]]></ToUserName>
    			<FromUserName><![CDATA[%s]]></FromUserName>
    			<CreateTime>%s</CreateTime>
    			<MsgType><![CDATA[text]]></MsgType>
    			<Content><![CDATA[%s]]></Content>
    			<FuncFlag>0</FuncFlag>
    		</xml>";
    
    //对消息模板中的通配符进行替换
    $resultStr=sprintf($retTmp,$fromUserName,$toUserName,time(),$retMsg);
    echo $resultStr;
    
    ?>
    

      加了那个微信,发过去“你很帅”,结果真的自动回复“你很帅”了。好开心哦!

    <a href="http://s.click.taobao.com/t?e=m%3D2%26s%3D8ZP%2B9BFH8dccQipKwQzePCperVdZeJviEViQ0P1Vf2kguMN8XjClAqdTPP%2BnwUxNRr%2B4el50HJcWjwYIGsh1SNLb45UgjmLHwHV06zwZE474PBd4WwVOW%2Bdn1BbglxZYxUhy8exlzcq9AmARIwX9K%2BnbtOD3UdznPV1H2z0iQv9eY%2By0blbhscYl7w3%2FA2kb" target="_blank"><img src="http://gtms01.alicdn.com/tps/i1/T1LuRAFspSXXX1pzZP-760-90.jpg" /></a>
    

      

  • 相关阅读:
    aa
    MySQL5.8下载及安装——免安装版
    eclipse中修改项目名
    利用kibana学习 elasticsearch restful api (DSL)
    https://www.cnblogs.com/shwee/p/9084535.html
    springboot+mybatis实现动态切换数据源
    docker-machine命令安装
    Docker 安装 RabbitMq
    yum 找不到程序,yum更换国内阿里源
    CentOS安装etcd和flannel实现Docker跨物理机通信
  • 原文地址:https://www.cnblogs.com/yuwensong/p/3675564.html
Copyright © 2011-2022 走看看