各种快递查询--Api接口

前端技术 2023/09/06 PHP


授权成功我的密钥

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

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

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

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

参数说明 字段 是否必须 说明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ν=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ν=%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&\"ν=\"ν&\"&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
%>

本文地址:https://www.stayed.cn/item/17481

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。