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,http://www.kuaidi100.com/openapi/mobileapi.shtml
不需要申請Key,免費;但是,傳回結果是html,需要解析
通過simple_html_dom.php解析html,終于得到想要的結果
<?php
/*
快遞100 提供的接口,傳回html;
使用 simple_html_dom 解析html,得到快遞結果
d_eng ([email protected])
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)效果展示
