查询快递的微信公共账号

来源:互联网 发布:java函数调用 编辑:程序博客网 时间:2024/04/30 21:07

  今天中午找了个查询快递情况的API,晚上又无聊,就做了个查询快递的微信公共账号


<?php/**  * wechat php test  *///define your tokendefine("TOKEN", "iexpress");$wechatObj = new wechatCallbackapiTest();//$wechatObj->valid();$wechatObj->responseMsg();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 dataif (!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!";                  $express=new Express();                   $contentStr=$express->express($keyword);                $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);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}}//////////////////////////////class Express{  public function express($values)  {    $type='shentong';//如果是别的快递公司,可以换下,有于没有其他快递公司的快递单,所以就么没有测试    //$values='568983164979';      $qurl='http://www.kuaidi100.com/query?type='.$type.'&postid='.$values;      $fetch=new BaeFetchUrl();      $content=$fetch->get($qurl);      $result=json_decode($content,true);     $count=count($result['data']);//获的数目    $i=0;     while($i<$count)     {       $results.=$result['data'][$i]['time'].':'."\n".$result['data'][$i]['context']."\n\n";//获取json数据data的时间和内容              $i++;    }    return $results;    //return $count;  }}?>