各种快递查询--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防注入安全代码
Apr 09 PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 PHP
php笔记之常用文件操作
Oct 12 PHP
php 求质素(素数) 的实现代码
Apr 12 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
PHP开发实现快递查询功能详解
Apr 08 PHP
PHP Redis扩展无法加载的问题解决方法
Aug 22 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数据的三种方法
2008/06/05 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 基于opencv 绘制图像轮廓
2020/12/11 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
css3中transition属性详解
2014/09/02 HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
采购主管工作职责
2013/12/12 职场文书
融资租赁计划书
2014/04/29 职场文书
企业文化标语口号
2014/06/09 职场文书
小学语文教研活动总结
2014/07/01 职场文书
采购员岗位职责
2015/02/03 职场文书
就业意向书范本
2015/05/11 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
被委托人身份证明
2015/08/07 职场文书
2016党校学习心得体会范文
2016/01/07 职场文书
员工安全责任协议书
2016/03/22 职场文书
关于保护环境的建议书
2019/06/24 职场文书