1)API申請
2)手機查詢API
3)伺服器要求
4)智慧型查詢
5)效果展示
---------------- -------------------------------------------------- --------
1)API申請
快遞100提供查詢介面API,需申請Key http://www.kuaidi100.com/openapi/applyapi.shtml
查詢數量有限制,2013- 11-19 最多2000次/每天
申請條件之一,為快遞100提供鏈接,在網站首頁
申請了2次失敗了
2)手機查詢API
快遞100手機提供手機提供API //www.kuaidi100.com/openapi/mobileapi.shtml
不需要申請Key,免費;但是,回傳結果是html,需要解析
透過simple_html_dom.php解析html,終於得到想要的結果
<?php /* 快递100 提供的接口,返回html; 使用 simple_html_dom 解析html,得到快递结果 d_eng (sh109419@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)效果展示
以上是微信大眾平台開發--快遞的內容,更多相關內容查詢PHP中文網(www.php.cn)!