千家信息网

微信接口自动回复

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,
千家信息网最后更新 2025年02月01日微信接口自动回复
&version=1.1&q=要翻译的文本     方倍工作室 http://www.cnblogs.com/txw1958/    CopyRight 2013 www.doucube.com  All Rights Reserved*/traceHttp();define("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();if (isset($_GET['echostr'])) {    $wechatObj->valid();}else{    $wechatObj->responseMsg();}class wechatCallbackapiTest{    public function valid()    {        $echoStr = $_GET["echostr"];        if($this->checkSignature()){            echo $echoStr;            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;        }    }    public function responseMsg()    {        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];        //simplexml_load_string() 函数把 XML 字符串载入对象中。        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                        ";                        //sprintf() 函数把格式化的字符串写入一个变量中                        //strstr() 函数搜索一个字符串在另一个字符串中的第一次出现            if($keyword == "1")            {                $msgType = "text";                $contentStr = "哈哈";                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);                echo $resultStr;            }elseif( $keyword == "A")            {                $msgType = "text";                $contentStr = "OK";                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);                echo $resultStr;            }elseif( $keyword == "B")            {                $msgType = "text";                $contentStr = "good";                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);                echo $resultStr;            }else if($keyword == "fff"){                    $msgType = "text";                $contentStr = "asasasas!!".$keyword."zzzz";                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);                echo $resultStr;exit();        }        }else{               $msgType = "text";                $contentStr = $keyword."zzzz";                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);                echo $resultStr;            exit;        }    }}function traceHttp(){    //"REMOTE_ADDR":正在浏览当前页面用户的 IP 地址。     logger("\n\nREMOTE_ADDR:".$_SERVER["REMOTE_ADDR"].(strstr($_SERVER["REMOTE_ADDR"],'101.226')? " FROM WeiXin": "Unknown IP"));    logger("QUERY_STRING:".$_SERVER["QUERY_STRING"]);}function logger($log_content){    if(isset($_SERVER['HTTP_APPNAME'])){   //SAE        sae_set_display_errors(false);   //        sae_debug($log_content);   //sae_debug是保存到日志里面, 不会保存到storage里面.        sae_set_display_errors(true);    }else{ //LOCAL        $max_size = 500000;        $log_filename = "weixinlog.xml";        if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}        file_put_contents($log_filename, date('Y-m-d H:i:s').$log_content."\r\n", FILE_APPEND);    }}?>


0