zoukankan      html  css  js  c++  java
  • 各种快递查询--Api接口

    授权成功我的密钥


    爱查快递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 | xml
    encode 可选 gbk(默认)| utf8
    ord 可选 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"}

    字段说明

    字段 类型 说明
    status int 查询结果状态,0|1|2|3|4,0表示查询失败,1正常,2派送中,3已签收,4退回,5其他问题
    errCode int 错误代码,0无错误,1单号不存在,2验证码错误,3链接查询服务器失败,4程序内部错误,5程序执行错误,6快递单号格式错误,7快递公司错误,10未知错误
    message string 错误消息
    data array 进度
    html string 其他HTML,该字段不一定存在
    mailNo string 快递单号
    expSpellName string 快递公司英文代码
    expTextName string 快递公司中文名
    update int 最后更新时间(unix 时间戳)
    cache int 缓存时间,当前时间与 update 之间的差值,单位为:秒
    ord string 排序,ASC | DESC

    php应用示例

     <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
    %>

    目前所支持的快递公司列表

    点击查看最新列表

    快递公司 代码
    EMS快递 ems
    申通快递 shentong
    圆通快递 yuantong
    中通快递 zhongtong
    汇通快递 huitong
    天天快递 tiantian
    韵达快递 yunda
    顺丰快递 shunfeng
    宅急送快递 zhaijisong
    CCES快递 cces
    中国邮政平邮 pingyou
    星晨急便 xingchen
    速尔快递 sure
    快捷快递 kuaijie
    中铁快运 zhongtie
    AAE快递 aae
    安捷快递 anjie
    安信达快递 anxinda
    程光快递 chengguang
    大田物流 datian
    德邦物流 debang
    DHL快递 dhl
    DPEX快递 dpex
    D速快递 dsu
    国际Fedex fedex
    Fedex国内 fedexcn
    原飞航物流 feihang
    丰达快递 fengda
    飞康达快递 fkd
    飞快达快递 fkdex
    天地华宇物流 huayu
    佳吉快运 jiaji
    佳怡物流 jiayi
    加运美快递 jiayunmei
    晋越快递 jinyue
    联昊通物流|快递 lianhaotong
    龙邦快递 longbang
    民航快递 minhang
    港中能达 nengda
    OCS快递 ocs
    全晨快递 quanchen
    全峰快递 quanfeng
    全日通快递 quanritong
    全一快递 quanyi
    如风达快递 rufeng
    盛丰物流 shengfeng
    盛辉物流 shenghui
    TNT快递 tnt
    UPS ups
    万家物流 wanjia
    新邦物流 xinbang
    鑫飞鸿速递 xinfeihong
    信丰快递 xinfeng
    亚风快递 yafeng
    一邦快递 yibang
    优速快递 yousu
    远成物流 yuancheng
    元智捷诚 yuanzhi
    越丰快递 yuefeng
    运通中港快递 yuntong
    源伟丰 ywfex
    中邮物流 zhongyou

  • 相关阅读:
    Windows常用内容渗透命令
    字符串编码小记
    卡巴斯基命令解析
    聚合与继承
    Maven与Eclipse整合
    maven系列三:Maven核心概念
    使用Maven构建项目
    Maven项目构建过程练习
    maven系列二:Maven入门
    使用Maven构建多模块项目
  • 原文地址:https://www.cnblogs.com/pangblog/p/3341916.html
Copyright © 2011-2022 走看看