微信公众平台开发--快递查询

1)API申请

2)手机查询API

3)服务器要求

--------------------------------------------------------------------------

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,终于得到想要的结果


  1. <?php   
  2. /* 
  3.     快递100 提供的接口,返回html; 
  4.     使用 simple_html_dom 解析html,得到快递结果 
  5.  
  6.      d_eng (sh109419@163.com) 
  7.      2013-11-20  
  8.  */   
  9. /* 
  10. 天天快递查询电话:4001-888-888<br>              <br>天天快递单号:560050137619<br>查询结果如下所示:<br>·2013-11-18 16:58:30 
  11.  快件已到达【上海虹口一部】          扫描员是【11】上一站是【上海集散】<br>·2013-11-18 18:46:19 
  12.  【上海普陀二部】的收件员【高军13916321314】已收件<br>·2013-11-18 22:28:08 
  13.  由【上海普陀二部】发往【上海集散】<br>·2013-11-19 00:38:31 
  14.  由【上海集散】发往【上海虹口一部】<br>·2013-11-19 08:13:32 
  15.  快件已到达【上海虹口一部】          扫描员是【21242.1010】上一站是【上海集散】<br>·2013-11-19 08:54:45 
  16.  【上海虹口一部】的派件员【孔明】正在派件<br>·2013-11-19 10:58:14 
  17.  已签收,签收人是【同事代签】 
  18. */  
  19.   
  20. header("Content-Type:text/html; charset=utf-8");    
  21. include("simple_html_dom.php");  
  22. function express($company,$code) {   
  23.       
  24.     // get html  
  25.     $url = "http://wap.kuaidi100.com/wap_result.jsp?rand=20120517&id=".$company."&fromWeb=null&&postid=".$code;  
  26.     $html=file_get_contents($urlor die();  
  27.   
  28.     //get form part  
  29.     $x=explode("</form>",$html);  
  30.     $x=explode("<form",$x[0]);   
  31.     $form = "<form".$x[1]."</form>";  
  32.       
  33.     // create dom     
  34.     $dom = str_get_html($form);  
  35.     // 找到所有<p>  
  36.     $text = "";  
  37.     foreach($dom->find('p'as $element) {  
  38.         if ($text<>""$text = $text.'<br>';  
  39.         $text = $text.$element->plaintext;  
  40.     }  
  41.     return $text;  
  42. }   
  43.   
  44. echo express('shentong','668711492860');   
  45. echo '<br>';  
  46. echo '<br>';  
  47. echo express('tiantian','560050137619');   
  48. echo '<br>';  
  49. echo '<br>';  
  50. echo express('yunda','1900497688272');   
  51.   
  52. ?>   
<?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做好,服务器环境建设好,开发微信程序就简单了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值