温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

微信公众平台开发之如何实现快递查询

发布时间:2021-03-16 09:50:37 来源:亿速云 阅读:146 作者:小新 栏目:移动开发

这篇文章主要介绍了微信公众平台开发之如何实现快递查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

实现方法:

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)效果展示

微信公众平台开发之如何实现快递查询

感谢你能够认真阅读完这篇文章,希望小编分享的“微信公众平台开发之如何实现快递查询”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI