各种快递查询--Api接口


Posted in PHP onApril 26, 2016

授权成功我的密钥各种快递查询--Api接口

如有转载,请标明来自此出处http://blog.csdn.net/qxs965266509,必须注意!

爱查快递API使用说明文档API地址:

以前:http://api.ickd.cn/?com=[]&nu=[]&id=[]&type=[]&encode=[]&ord=[]&lang=[]

目前:http://api.ickd.cn/?id=[]&secret=[]&com=[]&nu=[]&type=[]&encode=[]&ord=[]&lang=[]

参数说明

字段 是否必须 说明com必须快递公司代码(英文),所支持快递公司见如下列表nu必须快递单号,长度必须大于5位id
secret必须
必须授权的id
授权KEY,申请请点击快递查询API申请方式type可选返回结果类型,值分别为 html | json(默认) | text | xmlencode可选gbk(默认)| utf8ord可选asc(默认)|desc,返回结果排序lang可选en返回英文结果,目前仅支持部分快递(EMS、顺丰、DHL)注意:使用PHP的json_decode函数时必须使用UTF8的编码,如果出现json_decode失败,请尝试使用UTF8编码。返回格式格式:json | text | html | xml
编码:GBK| UTF8
示例:{"status":"3","message":"","errCode":"0","data":[{"time":"2013-02-23 17:10","context":"辽宁省大连市中山区四部公司 的收件员 王光 已收件"},{"time":"2013-02-24 17:59","context":"辽宁省大连市公司 已收入"},{"time":"2013-02-24 18:11","context":"辽宁省大连市中山区四部公司 已收件"},{"time":"2013-02-26 07:33","context":"吉林省长春市景阳公司 的派件员 张金达 派件中 派件员电话15948736487"},{"time":"2013-02-26 16:47","context":"客户 同事收发家人 已签收 派件员 张金达"}],"html":"","mailNo":"7151900624","expTextName":"圆通快递","expSpellName":"yuantong","update":"1362656241","cache":"186488","ord":"ASC"}字段说明 字段 类型 说明statusint查询结果状态,0|1|2|3|4,0表示查询失败,1正常,2派送中,3已签收,4退回,5其他问题errCodeint错误代码,0无错误,1单号不存在,2验证码错误,3链接查询服务器失败,4程序内部错误,5程序执行错误,6快递单号格式错误,7快递公司错误,10未知错误messagestring错误消息dataarray进度htmlstring其他HTML,该字段不一定存在mailNostring快递单号expSpellNamestring快递公司英文代码expTextNamestring快递公司中文名updateint最后更新时间(unix 时间戳)cacheint缓存时间,当前时间与 update 之间的差值,单位为:秒ordstring排序,ASC | DESCphp应用示例
<script language="javascript"> <?php$id='xxxxxxxxxxxxxxxxx';
//到http://www.ickd.cn/api/reg.html申请
$url='http://api.ickd.cn/?com=shentong&nu=588035733628&id='.$id; $data=file_get_contents($url); 
//echo "var data='",$data,"'"; ?> $(function(){
 var dataObj=<?=$data?>;
//转换为json对象 var html='<tr>'; html+='<th>物流状态:</th>'; 
html+='<td>'; 
if(dataObj.status>0){ 
html+='<table width="520px" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; border-spacing: 0pt;">'; html+='<tr>'; 
html+='<td width="163" style="background-color:#e6f9fa;border:1px solid #75c2ef;font-size:14px;font-weight:bold;height:20px;text-indent:15px;">'; 
html+='时间'; html+='</td>'; 
html+='<td width="354" style="background-color:#e6f9fa;border:1px solid #75c2ef;font-size:14px;font-weight:bold;height:20px;text-indent:15px;">'; html+='地点和跟踪进度'; html+='</td>'; html+='</tr>'; //输出data的子对象变量 $.each(dataObj.data,function(idx,item){  html+='<tr>'; 
html+='<td width="163" style="border:1px solid #dddddd;font-size: 12px;line-height:22px;padding:3px 5px;">';  html+=item.time;// 每条数据的时间  html+='</td>';  html+='<td width="354" style="border:1px solid #dddddd;font-size: 12px;line-height:22px;padding:3px 5px;">';  html+=item.context;// 每条数据的状态  html+='</td>';  html+='</tr>'; }); html+='</table>'; }else{
//查询不到 
html+='<span style="color:#f00">Sorry! '+dataObj.message+'</span>'; }
 html+='</td></tr>'; $("#shipping_detail").append(html);});</script>

若服务器禁用了file_get_contents和fsockopen等函数,可使用CURL类,示例如下:

<?php $id='xxxxxxxxxxxxx';
//API KEY $com='shunfeng';
//快递公司 $nu='123456';
//快递单号 $type='json';
 $encode='utf8'; 
$gateway=sprintf('http://api.ickd.cn/?id=%s&com=%s&nu=%s&encode=%s&type=%s',$id,$com,$nu,$encode,$type); 
$ch=curl_init($gateway); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
curl_setopt($ch,CURLOPT_HEADER,false); $resp=curl_exec($ch); 
$errmsg=curl_error($ch); if($errmsg){ exit($errmsg); } curl_close($ch);
 echo $resp;?>

ASP应用示例

<%
Response.Charset="gb2312" 
Server.ScriptTimeout = 999999999

Dim Retrieval
Dim url,nu,com
com = Request("com")'公司
nu = Request("nu")'单号

Dim AppKey,SendURL,ResponseTxt
AppKey = "xxxxxxxxxx" '请将XXXXXX替换成您在http://www.ickd.cn/reg.html申请到的KEY
SendURL ="http://api.ickd.cn/?id="&AppKey&"&com="&com&"&nu="&nu&"&type=json&encode=GBK"'如果使用UTF8,请确保encode=utf8
'Response.Write SendURL

'发送数据
ResponseTxt=fopen(SendURL) '//获取源代码的函数

'调用发送数据组件
Function fopen(URL) 
Dim objXML 
'Set objXML=CreateObject("MSXML2.SERVERXMLHTTP.3.0") '调用XMLHTTP组件,若服务器不支持,请换用以下两个中的一个再试
Set objXML=Server.CreateObject("Microsoft.XMLHTTP") 
'Set objXML=Server.CreateObject("MSXML2.XMLHTTP.4.0") 

'objXML.SetTimeouts 5000, 5000, 30000, 10000' 解析DNS名字的超时时间,建立Winsock连接的超时时间,发送数据的超时时间,接收response的超时时间。单位毫秒
objXML.Open "GET",URL,False '以同步方式获取API查询数据
objXML.Send() '发送
If objXML.Readystate<>4 Then '状态不为4,错误
Response.Write "{status:0,errCode:100,message:'获取数据出错'}" 
Exit Function 
End If
'Readystate属性,传回XML文件资料的目前状况,返回值分别有以下:
'0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。
'1-LOADING:加载程序进行中,但文件尚未开始解析。
'2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。
'3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。
'4-COMPLETED:文件已完全加载,代表加载成功。

fopen=objXML.ResponseBody
fopen=BytesToBstr(objXML.ResponseBody)'返回信息,同时用函数定义编码,如果您需要转码请选择 

Set objXML=Nothing'关闭 
If Err.number<>0 Then 
Response.Write "{status:0,errCode:100,message:'获取数据出错'}" 
Err.Clear
End If
End Function

'页面编码转换
Function BytesToBstr(body) 
Dim objstream 
Set objstream = Server.CreateObject("Adodb.Stream") '//调用adodb.stream组件
objstream.Type = 1 
objstream.Mode =3 
objstream.Open 
objstream.Write body 
objstream.Position = 0 
objstream.Type = 2 
objstream.Charset = "GBK" '转换原来默认的编码转换成GB2312编码,否则直接用XMLHTTP调用有中文字符的网页得到的将是乱码 
BytesToBstr = objstream.ReadText 
objstream.Close 
Set objstream = Nothing 
End Function

'输入查询结果
Response.Write ResponseTxt
%>

PHP 相关文章推荐
在同一窗体中使用PHP来处理多个提交任务
Oct 09 PHP
杏林同学录(二)
Oct 09 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
PHP命名空间(Namespace)的使用详解
May 04 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
php 策略模式原理与应用深入理解
Sep 25 PHP
php实现对文件压缩简单的方法
Sep 29 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 PHP
浅析Yii2集成富文本编辑器redactor实例教程
Apr 25 #PHP
Yii2增加验证码步骤详解
Apr 25 #PHP
Yii实现显示静态页的方法
Apr 25 #PHP
mysql_escape_string()函数用法分析
Apr 25 #PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 #PHP
PHP引用的调用方法分析
Apr 25 #PHP
PHP常见错误提示含义解释(实用!值得收藏)
Apr 25 #PHP
You might like
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
php按单词截取字符串的方法
2015/04/07 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
jQuery+HTML5加入购物车代码分享
2020/10/29 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
常用的js方法合集
2017/03/10 Javascript
vue 请求后台数据的实例代码
2017/06/22 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
PyQT实现多窗口切换
2018/04/20 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
新东网科技Java笔试题
2012/07/13 面试题
如何用JQuery进行表单验证
2013/05/29 面试题
物流业务员岗位职责
2014/02/08 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
荆州古城导游词
2015/02/06 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
借款民事起诉状范文
2015/05/19 职场文书