首頁  >  文章  >  微信小程式  >  微信公眾平台開發--快遞查詢

微信公眾平台開發--快遞查詢

黄舟
黄舟原創
2016-12-30 10:30:262438瀏覽

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(&#39;p&#39;) as $element) {
		if ($text<>"") $text = $text.&#39;<br>&#39;;
		$text = $text.$element->plaintext;
	}
	return $text;
} 

echo express(&#39;shentong&#39;,&#39;668711492860&#39;); 
echo &#39;<br>&#39;;
echo &#39;<br>&#39;;
echo express(&#39;tiantian&#39;,&#39;560050137619&#39;); 
echo &#39;<br>&#39;;
echo &#39;<br>&#39;;
echo express(&#39;yunda&#39;,&#39;1900497688272&#39;); 

?>

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)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn