• 代码作色测试


    <?php
    /**
    * wechat php test
    */

     
    //define your token
    define("TOKEN", "weixin");
    $wechatObj = new wechatCallbackapiTest();
    $wechatObj -> valid();
     
    class wechatCallbackapiTest {
        public function valid() {
            $echoStr = $_GET["echostr"];
     
            //valid signature , option
            if ($this -> checkSignature()) {
                echo $echoStr;
                exit ;
            }
        }
     
        public function responseMsg() {
            //get post data, May be due to the different environments
            $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
     
            //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 = "
                                <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)) {
                    $msgType = "text";
                    $contentStr = "Welcome to wechat world!";
                    $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, SORT_STRING);
            $tmpStr = implode($tmpArr);
            $tmpStr = sha1($tmpStr);
     
            if ($tmpStr == $signature) {
                return true;
            } else {
                return false;
            }
        }
     
    }




  • 相关阅读:
    static-keys.txt 翻译
    sqlserver sp_executesql 返回值
    socket上传文件
    threadingSocket 服务器端可以同时接受多个客户端的访问
    python ftp上传
    Python sys模块
    linux系统相关
    下载论文,电子书籍(中英文),专利,数据库和课件
    如何设计一个合理、灵活的深度学习训练框架
    使用小米电视的第一天
  • 原文地址:https://www.cnblogs.com/sanpoye/p/3667336.html
Copyright © 2020-2023  润新知