您好,登錄后才能下訂單哦!
這篇文章主要介紹了微信公眾平臺開發之如何實現快遞查詢,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
實現方法:
1)API申請
快遞100提供查詢接口API,需要申請Key http://www.kuaidi100.com/openapi/applyapi.shtml
查詢數量有限制,2013-11-19 最多 2000次/每天
申請條件之一,為快遞100提供鏈接,在網站首頁
申請了2次失敗了
2)手機查詢API
快遞100提供手機查詢API,http://www.kuaidi100.com/openapi/mobileapi.shtml
不需要申請Key,免費;但是,返回結果是html,需要解析
通過simple_html_dom.php解析html,終于得到想要的結果
<?php /* 快遞100 提供的接口,返回html; 使用 simple_html_dom 解析html,得到快遞結果 d_eng (sh209419@163.com) 2013-11-20 */ /* 天天快遞查詢電話:4001-888-888<br> <br>天天快遞單號:560050137619<br>查詢結果如下所示:<br>·2013-11-18 16:58:30 快件已到達【上海虹口一部】 掃描員是【11】上一站是【上海集散】<br>·2013-11-18 18:46:19 【上海普陀二部】的收件員【高軍13916321314】已收件<br>·2013-11-18 22:28:08 由【上海普陀二部】發往【上海集散】<br>·2013-11-19 00:38:31 由【上海集散】發往【上海虹口一部】<br>·2013-11-19 08:13:32 快件已到達【上海虹口一部】 掃描員是【21242.1010】上一站是【上海集散】<br>·2013-11-19 08:54:45 【上海虹口一部】的派件員【孔明】正在派件<br>·2013-11-19 10:58:14 已簽收,簽收人是【同事代簽】 */ header("Content-Type:text/html; charset=utf-8"); include("simple_html_dom.php"); function express($company,$code) { // get html $url = "http://wap.kuaidi100.com/wap_result.jsp?rand=20120517&id=".$company."&fromWeb=null&&postid=".$code; $html=file_get_contents($url) or die(); //get form part $x=explode("</form>",$html); $x=explode("<form",$x[0]); $form = "<form".$x[1]."</form>"; // create dom $dom = str_get_html($form); // 找到所有<p> $text = ""; foreach($dom->find('p') as $element) { if ($text<>"") $text = $text.'<br>'; $text = $text.$element->plaintext; } return $text; } echo express('shentong','668711492860'); echo '<br>'; echo '<br>'; echo express('tiantian','560050137619'); echo '<br>'; echo '<br>'; echo express('yunda','1900497688272'); ?>
3)服務器要求
快遞100不支持新浪SAE平臺,后來試了
a) 移動的MMAE平臺,倒是可以;但MMAE比較慢,不穩定,放棄
b) 騰訊云平臺,開戶送了200,但是,一個月PHP+mySQL差不多要200,放棄
c) 申請百度云平臺,BAE可以訪問快遞100,but,BAE不支持Google翻譯,
OK,解決方案,微信服務程序放在BAE,google翻譯放在SAE,
微信使用google翻譯的時候,命令發送到微信服務程序(BAE),從BAE遠程調用google翻譯結果(SAE)
快遞調用demo做好,服務器環境建設好,開發微信程序就簡單了
4)智能查詢
快遞查詢一般都需要提供快遞好和快遞公司,智能查詢就是在只給出快遞號的情況下,智能匹配快遞公司,查到記錄。
智能查詢的核心是匹配策略,這里在網上收集了部分:
公司名稱 單號長度 純數字 常用 德邦 8-10 Y 1或2開頭 EMS 13 N 開頭和結尾二位是字母,中間是數字 匯通 12-14 N 50*開頭 聯昊通 12 Y 5*、6*等開頭 申通 12 Y 1-9開頭 268*、368*、58* 66*等開頭 順豐 12 Y 電話區號后三位開頭 速爾 12 Y 天天 12 Y 6**、5*、00*等開頭 圓通 10 N 1*、2*、6*、8*、D*及V*等開頭 韻達 13 Y 10*、12*、19*等開頭 中通 12 Y 2008**、6**、010等開頭 宅急送 10 Y 7**、6**、5**等開頭
5)效果展示
感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信公眾平臺開發之如何實現快遞查詢”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。