快递查询api(多接口方案)

/** 本环境使用php+smarty,结合两种快递api调取快递数据
*   说明,先快递鸟调取数据,失败后再调取快递网的数据
* 快递鸟 http://www.kdniao.com   快递网  http://www.kuaidi.com/ * ----前台调用代码----
<{if $de.is_virtual neq 1 && $de.logistics_name}> <dl class="dl clearfix"> <dt>物流信息</dt> <dd>物流名称:<{$de.logistics_name}></dd> <{if $de.invoice_no}> <dd>物流单号:<{$de.invoice_no}></dd> <{/if}> </dl> <{if $de.logistics_name&&$de.invoice_no&&$logistics_config.logistics_connect==1}> <dl><script src="<{$config.weburl}>/api/***.php?com=<{$de.logistics_name}>&nu=<{$de.invoice_no}>"></script></dl> <{/if}> <{/if}> */

 

  1 <?php
  2 include_once("../includes/global.php");
  3 @include_once("../config/logistics_config.php");
  4 $api_id = $logistics_config['logistic_app_id'] ? $logistics_config['logistic_app_id'] : "";
  5 $api_sceret = $logistics_config['logistic_api_sceret'] ? $logistics_config['logistic_api_sceret'] : "";
  6 define("API_Id", $api_id);
  7 define("API_Sceret", $api_sceret); //快递网只需这个 api_id不起做用
  8 
  9 //llog('',true);
 10 //llog('key'.API_Sceret);
 11 
 12 if ($_GET["com"] && $_GET["nu"]) {
 13     //查询表中支持的快递公司
 14     $sql = "select * from  " . FASTMAIL . " where company='" . $_GET["com"] . "'";
 15     $db->query($sql);
 16     //llog('查询表中支持的快递公司:'.$sql);
 17     if ($db->num_rows()) {
 18         $fast_mail = $db->fetchRow();
 19         $com = $fast_mail["pinyin"];    //快递公司代号
 20         $nu = $_GET["nu"];              //快递单号
 21         $order = '';                    //订单号(可不填)
 22         $sql2 = "select * from `fast_mail_record` where `number`='{$nu}'";
 23         $db->query($sql2);
 24         $info = $db->fetchRow();        //缓存记录
 25         //llog('--------查询缓存数据:-------');
 26         //llog($info);
 27         $time = date('Y-m-d H:i:s', time());
 28         //无缓存或缓存超过1小时直接获取
 29         if (!$info || (time() - strtotime($info['uptime'])) > 3600) {
 30             //llog('+++快递鸟调取++');
 31             $birds = getOrderTracesByJson($order, $com, $nu);
 32             //llog($birds);
 33             if ($birds['Success'] && count($birds['Traces']) > 0) {   //快递鸟调取
 34                 $tables = joinHtml($birds['Traces']);
 35                 //缓存数据
 36                 if ($info['id'])
 37                     $sql = "update `fast_mail_record` set `record`='{$tables}',`uptime`='{$time}'  where id='{$info['id']}'";
 38                 else
 39                     $sql = "insert into `fast_mail_record` (`code`,`number`,`record`) VALUE ('{$birdsCode[$com]}','{$nu}','{$tables}')";
 40                 $db->query($sql);
 41                 //llog('+++快递鸟调取成功缓存数据:'.$sql);
 42                 echo "document.write('" . $tables . "');";
 43             } else { //快递鸟调取失败,再调取快递网
 44                 //快递鸟公司代码->快递网代码
 45                 $birdsCode = array('AAE' => 'aae', 'YTO' => 'yuantong', 'QFKD' => 'quanfengkuaidi', 'DBL' => 'debangwuliu', 'ZYWL' => 'zhongyouwuliu', 'STO' => 'shentong', 'SF' => 'shunfeng', 'HHTT' => 'tiantian', 'ZJS' => 'zhaijisong', 'Aramex' => 'aramex', 'AXD' => 'anxinda', 'ZTO' => 'zhongtong', 'YD' => 'yunda');
 46                 $res = kuaidi($birdsCode[$com], $nu);
 47                 //llog('---快递网调取---');
 48                 //llog($res);
 49                 if ($res['success'] && count($res['data']) > 0) {
 50                     $tables = joinHtml($res['data']);
 51                     //缓存数据
 52                     if ($info['id'])
 53                         $sql = "update `fast_mail_record` set `record`='{$tables}',`uptime`='{$time}'  where id='{$info['id']}'";
 54                     else
 55                         $sql = "insert into `fast_mail_record` (`code`,`number`,`record`) VALUE ('{$birdsCode[$com]}','{$nu}','{$tables}')";
 56                     $db->query($sql);
 57                     //llog('---快递网调取成功缓存数据++'.$sql);
 58                     echo "document.write('" . $tables . "');";
 59                 } elseif (isset($res['Reason']) && strlen($res['Reason']) > 0 || isset($res['reason']) && strlen($res['reason']) > 0) {
 60                     //llog('---调取失败返回数据--');
 61                     echo "document.write('<p style=\'color:#ff6933;font-size:14px;font-weight:bold;\'>" . $birds['Reason'] . "!</p><p style=\'color:red;font-size:14px;font-weight:bold;\'>" . $res['reason'] . "!</p>');";
 62                 } elseif (isset($info['record']) && strlen($info['record']) > 0) {
 63                     //llog('---仍是用老数据--');
 64                     echo "document.write('" . $info['record'] . "');";
 65                 } else {
 66                     //llog('---无数据可用--');
 67                     echo "document.write('暂时没有物流信息!');";
 68                 }
 69             }
 70         } else {
 71             //llog('---直接调用缓存返回数据--');
 72             //调取缓存
 73             echo "document.write('" . $info['record'] . "');";
 74         }
 75     } else {
 76         //llog('表中不支持的快递公司--');
 77         echo "document.write('暂时没有物流信息!');";
 78     }
 79 }
 80 
 81 
 82 /**快递鸟 查询订单第一方案
 83  * @param string $OrderCode 订单编号(可空)
 84  * @param $ShipperCode          快递公司编码
 85  * @param $LogisticCode         物流单号
 86  * @return url响应返回的html Json方式
 87  */
 88 function getOrderTracesByJson($OrderCode = '', $ShipperCode, $LogisticCode)
 89 {
 90     $requestData = "{'OrderCode':'" . $OrderCode . "','ShipperCode':'" . $ShipperCode . "','LogisticCode':'" . $LogisticCode . "'}";
 91     $url = 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx';
 92     $datas = array(
 93         'EBusinessID' => API_Id,    //    用户ID
 94         'RequestType' => '1002',
 95         'RequestData' => urlencode($requestData),
 96         'DataType' => '2',
 97     );
 98     $datas['DataSign'] = encrypt($requestData, API_Sceret);
 99     $result = sendPost($url, $datas);
100     //根据公司业务处理返回的信息......json格式
101     return json_decode($result, true);
102 }
103 
104 
105 /** 快递鸟
106  *  post提交数据
107  * @param  string $url 请求Url
108  * @param  array $datas 提交的数据
109  * @return url响应返回的html
110  */
111 function sendPost($url, $datas)
112 {
113     $temps = array();
114     foreach ($datas as $key => $value) {
115         $temps[] = sprintf('%s=%s', $key, $value);
116     }
117     $post_data = implode('&', $temps);
118     $url_info = parse_url($url);
119 
120     if ($url_info['port'] == '') {
121         $url_info['port'] = 80;
122     }
123 //    echo $url_info['port'];
124     $httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";
125     $httpheader .= "Host:" . $url_info['host'] . "\r\n";
126     $httpheader .= "Content-Type:application/x-www-form-urlencoded\r\n";
127     $httpheader .= "Content-Length:" . strlen($post_data) . "\r\n";
128     $httpheader .= "Connection:close\r\n\r\n";
129     $httpheader .= $post_data;
130     $fd = fsockopen($url_info['host'], $url_info['port']);
131     fwrite($fd, $httpheader);
132     $gets = "";
133     $headerFlag = true;
134     while (!feof($fd)) {
135         if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
136             break;
137         }
138     }
139     while (!feof($fd)) {
140         $gets .= fread($fd, 128);
141     }
142     fclose($fd);
143 
144     return $gets;
145 }
146 
147 /**快递鸟
148  * 电商Sign签名生成
149  * @param data 内容
150  * @param appkey Appkey
151  * @return DataSign签名
152  */
153 function encrypt($data, $appkey)
154 {
155     return urlencode(base64_encode(md5($data . $appkey)));
156 }
157 
158 
159 /**--------------------------------快递网 查询第二方案----------------------------------------------------
160  * @param $com  公司代号
161  * @param $nu   快递单号
162  * @param int $id 缓存表id
163  * @return string
164  */
165 function kuaidi($com, $nu)
166 {
167     $AppKey = 'e456181bcd8234562928a92b0786acf1'; //申请的key
169     $url = 'http://api.kuaidi.com/openapi.html?id=' . $AppKey . '&com=' . $com . '&nu=' . $nu . '&show=0&muti=0&order=asc';
170     //优先使用curl模式发送数据
171     if (function_exists('curl_init') == 1) {
172         $curl = curl_init();
173         curl_setopt($curl, CURLOPT_URL, $url);
174         curl_setopt($curl, CURLOPT_HEADER, 0);
175         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
176         curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
177         curl_setopt($curl, CURLOPT_TIMEOUT, 5);
178         $res = curl_exec($curl);
179         curl_close($curl);
180     }
181     $res = json_decode($res, true);
182     return $res;
183 //    return "document.write('" . $htmls ."');";
184 }
185 
186 //拼装html
187 function joinHtml($res)
188 {
189     $tables = '<table width="520px" border="0" cellspacing="0" cellpadding="0" id="showtablecontext" style="border-collapse:collapse;border-spacing:0;"><tbody><tr><td width="163" style="background:#39b54a;border:1px solid #39b54a;color:#FFFFFF;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:3px 5px;">时间</td><td width="354" style="background:#39b54a;border:1px solid #39b54a;color:#FFFFFF;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:3px 5px;">地点和跟踪进度</td></tr>';
190     foreach ($res as $vo) {
191         $time = $vo['AcceptTime'] ? $vo['AcceptTime'] : $vo['time'];
192         $context = $vo['AcceptStation'] ? $vo['AcceptStation'] : $vo['context'];
193         $tables .= '<tr><td width="163" style="border:1px solid #DDDDDD;font-size:12px;line-height:22px;padding:3px 5px;">' . $time . '</td><td width="354" style="border:1px solid #DDDDDD;font-size:12px;line-height:22px;padding:3px 5px;text-align: left;">' . $context . '</td></tr>';
194     }
195     $tables .= '</tbody></table>';
196     return $tables;
197 }
198 
199 function llog($msg, $f = false, $path = "/logs/temp")
200 {
201     define("APP_ROOT_DIRECTORY", dirname(dirname(__FILE__)));//获取项目根目录绝对路径
202     $file = APP_ROOT_DIRECTORY . $path . ".log";
203     if ($f)
204         file_put_contents($file, '');
205     error_log("[" . date("Y-m-d H:i:s") . "]  " . print_r($msg, true) . "\n\r", 3, $file);
206 }
207 
208 ?>

 前面使用了快递鸟调取数据,失败后再调取快递网的数据php

==================================新版本加入了app端的支持html

 

  1 //调试样例 http://www.abc.app/api/logistic.php?com=申通快递&nu=3315555780084&type=json  
  2 //代码开始
  3 include_once("../includes/global.php");
  4 @include_once("../config/logistics_config.php");
  5 //管理后台--设置--物流查询平台 设置下列参数
  6 $api_id = $logistics_config['logistic_app_id'] ? $logistics_config['logistic_app_id'] : "";
  7 $api_sceret = $logistics_config['logistic_api_sceret'] ? $logistics_config['logistic_api_sceret'] : "";
  8 define("API_Id", $api_id);
  9 define("API_Sceret", $api_sceret);
 10 $type=$_GET["type"]; //type=json app访问
 11 if (!$type){
 12     $type="html";
 13 }
 14 //快递网测试
 15 if ($_GET["com"] && $_GET["nu"]) {
 16     //查询表中支持的快递公司
 17     $sql = "select * from  " . FASTMAIL . " where company='" . $_GET["com"] . "'";
 18     $db->query($sql);
 19     //fb('查询表中支持的快递公司:'.$sql);
 20     if ($db->num_rows()) {
 21         $fast_mail = $db->fetchRow();
 22         $com = $fast_mail["pinyin"];    //快递鸟对应物流公司代码
 23         $com2 = $fast_mail["pinyin2"];    //快递网对应物流公司代码
 24         $nu = $_GET["nu"];              //快递单号
 25         $order = '';                    //订单号(可不填)
 26         $sql2 = "select * from `mallbuilder_fast_mail_record` where `number`='{$nu}' and `code`='{$com}'";
 27         $db->query($sql2);
 28         $info = $db->fetchRow();        //缓存记录
 29         //fb('--------查询缓存数据:-------');
 30         //fb($info);
 31         $time = date('Y-m-d H:i:s', time());
 32         //无缓存或缓存超过1小时直接获取
 33         if (!$info || (time() - strtotime($info['uptime'])) > 3600) {
 34             //fb('+++快递鸟调取++');
 35             $birds = getOrderTracesByJson($order, $com, $nu);
 36             //fb($birds);
 37             if ($birds['Success'] && count($birds['Traces']) > 0) {   //快递鸟调取
 38                 $tables = array();
 39                 foreach($birds['Traces'] as $k => $vo){
 40                     $tables[$k]['time'] = $vo['AcceptTime'];
 41                     $tables[$k]['context'] = $vo['AcceptStation'];
 42                 }
 43                 //fb($tables,'字段转换');
 44                 $tables = json_encode_ex($tables);
 45                 $record =addslashes($tables); //插入数据 \n 报错
 46                 //fb($tables,'json中文显示');
 47                 //缓存数据
 48                 if ($info['id'])
 49                     $sql = "update `mallbuilder_fast_mail_record` set `code`='{$com}',`record`='{$record}',`uptime`='{$time}'  where id='{$info['id']}'";
 50                 else
 51                     $sql = "insert into `mallbuilder_fast_mail_record` (`code`,`number`,`record`) VALUE ('{$com}','{$nu}','{$record}')";
 52                 $db->query($sql);
 53                 //fb('+++快递鸟调取成功-开始缓存数据:'.$sql);
 54                 lookorder($tables);
 55             } else {
 56                 //fb('---快递鸟调取失败,再调取快递网---');
 57                 $res = kuaidi($com2, $nu);
 58                 //fb($res);
 59                 if ($res['success'] && count($res['data']) > 0) {
 60                     $tables =json_encode_ex($res['data']);
 61                     $record =addslashes($tables);
 62                     //fb($tables,'json转换中文显示');
 63                     //缓存数据
 64                     if ($info['id'])
 65                         $sql = "update `mallbuilder_fast_mail_record` set `code`='{$com}', `record`='{$record}',`uptime`='{$time}'  where id='{$info['id']}'";
 66                     else
 67                         $sql = "insert into `mallbuilder_fast_mail_record` (`code`,`number`,`record`) VALUE ('{$com}','{$nu}','{$record}')";
 68                     $db->query($sql);
 69                     //fb('---快递网调取成功--缓存数据++'.$sql);
 70                     lookorder($tables);
 71 /*                } elseif (isset($res['Reason']) && strlen($res['Reason']) > 0 || isset($res['reason']) && strlen($res['reason']) > 0) {
 72                     lookorder('',1);*/
 73                 } elseif (isset($info['record']) && strlen($info['record']) > 0) {
 74                     //fb('---调取失败缘由---启用老数据--');
 75                     //fb($birds['Reason'].' | '.$res['reason']);
 76                     //fb($info['record']);
 77 
 78                     lookorder($info['record']);
 79                 } else {
 80                     //fb('---无数据可用--');
 81                     lookorder('',1);
 82                 }
 83             }
 84         } else {
 85             //fb('---直接调用缓存返回数据--');
 86 //            echo "document.write('" . $info['record'] . "');";
 87             lookorder($info['record']);
 88         }
 89     } else {
 90         //fb('表中不支持的快递公司--');
 91         lookorder('',1);
 92     }
 93 }
 94 /**输出信息
 95  * @param string $con 快递信息(json)
 96  * @param int $style  1为未查到数据
 97  */
 98 function lookorder($con='',$style=0)
 99 {
100     global $type;
101     //fb($type,'type');
102     if ($type == "json") {
103         if($style){
104             $con = array('errCode'=>403,'message'=>'没有查到相关信息。单号暂未收录或已过时!','data'=>'');
105             $con = json_encode($con);
106             echo $con;
107         }else{
108             $data =json_decode($con);
109             $con = array('errCode'=>0,'message'=>'','data'=>$data);
110             $con =json_encode($con);
111             echo $con;
112         }
113         //fb($con,'app输出');
114     }else{
115         if($style)
116             echo "document.write('<p style=\'color:red;font-size:14px;font-weight:bold;\'>没有查到相关信息。单号暂未收录或已过时!</p>')";
117         else{
118             $con = joinHtml($con);
119             echo "document.write('" . $con . "');";
120         }
121         //fb($con,'html输出');
122     }
123     exit;
124 }
125 
126 /**快递鸟 查询订单物流轨迹
127  * @param string $OrderCode 订单编号(可空)
128  * @param $ShipperCode          快递公司编码
129  * @param $LogisticCode         物流单号
130  * @return url响应返回的html Json方式
131  */
132 function getOrderTracesByJson($OrderCode = '', $ShipperCode, $LogisticCode)
133 {
134     $requestData = "{'OrderCode':'" . $OrderCode . "','ShipperCode':'" . $ShipperCode . "','LogisticCode':'" . $LogisticCode . "'}";
135     $url = 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx';
136     $datas = array(
137         'EBusinessID' => API_Id,    //    用户ID
138         'RequestType' => '1002',
139         'RequestData' => urlencode($requestData),
140         'DataType' => '2',
141     );
142     $datas['DataSign'] = encrypt($requestData, API_Sceret);
143     $result = sendPost($url, $datas);
144     //根据公司业务处理返回的信息......json格式
145     return json_decode($result, true);
146 }
147 
148 
149 /**
150  *  post提交数据
151  * @param  string $url 请求Url
152  * @param  array $datas 提交的数据
153  * @return url响应返回的html
154  */
155 function sendPost($url, $datas)
156 {
157     $temps = array();
158     foreach ($datas as $key => $value) {
159         $temps[] = sprintf('%s=%s', $key, $value);
160     }
161     $post_data = implode('&', $temps);
162     $url_info = parse_url($url);
163 
164     if ($url_info['port'] == '') {
165         $url_info['port'] = 80;
166     }
167 //    echo $url_info['port'];
168     $httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";
169     $httpheader .= "Host:" . $url_info['host'] . "\r\n";
170     $httpheader .= "Content-Type:application/x-www-form-urlencoded\r\n";
171     $httpheader .= "Content-Length:" . strlen($post_data) . "\r\n";
172     $httpheader .= "Connection:close\r\n\r\n";
173     $httpheader .= $post_data;
174     $fd = fsockopen($url_info['host'], $url_info['port']);
175     fwrite($fd, $httpheader);
176     $gets = "";
177     $headerFlag = true;
178     while (!feof($fd)) {
179         if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
180             break;
181         }
182     }
183     while (!feof($fd)) {
184         $gets .= fread($fd, 128);
185     }
186     fclose($fd);
187 
188     return $gets;
189 }
190 
191 /**
192  * 电商Sign签名生成
193  * @param data 内容
194  * @param appkey Appkey
195  * @return DataSign签名
196  */
197 function encrypt($data, $appkey)
198 {
199     return urlencode(base64_encode(md5($data . $appkey)));
200 }
201 
202 
203 /**快递网 查询第二方案
204  * @param $com  公司代号
205  * @param $nu   快递单号
206  * @param int $id 缓存表id
207  * @return string
208  */
209 function kuaidi($com, $nu)
210 {
211     $AppKey = '11222333444555';
212 //    $AppKey= API_Sceret?API_Sceret:'1234567898765';
213     $url = 'http://api.kuaidi.com/openapi.html?id=' . $AppKey . '&com=' . $com . '&nu=' . $nu . '&show=0&muti=0&order=asc';
214     //优先使用curl模式发送数据
215     if (function_exists('curl_init') == 1) {
216         $curl = curl_init();
217         curl_setopt($curl, CURLOPT_URL, $url);
218         curl_setopt($curl, CURLOPT_HEADER, 0);
219         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
220         curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
221         curl_setopt($curl, CURLOPT_TIMEOUT, 5);
222         $res = curl_exec($curl);
223         curl_close($curl);
224     }
225     $res = json_decode($res, true);
226     return $res;
227 //    return "document.write('" . $htmls ."');";
228 }
229 
230 //拼装html
231 function joinHtml($res)
232 {
233     //fb($res,'拼装html');
234     $res = str_replace('\r','<br/> ',$res); //把换行符替换成html格式
235     $res = json_decode($res,true);
236     $tables = '<table width="520px" border="0" cellspacing="0" cellpadding="0" id="showtablecontext" style="border-collapse:collapse;border-spacing:0;"><tbody><tr><td width="163" style="background:#39b54a;border:1px solid #39b54a;color:#FFFFFF;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:3px 5px;">时间</td><td width="354" style="background:#39b54a;border:1px solid #39b54a;color:#FFFFFF;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:3px 5px;">地点和跟踪进度</td></tr>';
237     foreach ($res as $vo) {
238         $time = $vo['time'] ? $vo['time'] : $vo['AcceptTime'] ;
239         $context = $vo['context'] ? $vo['context'] : $vo['AcceptStation'];
240         $tables .= '<tr><td width="163" style="border:1px solid #DDDDDD;font-size:12px;line-height:22px;padding:3px 5px;">' . $time . '</td><td width="354" style="border:1px solid #DDDDDD;font-size:12px;line-height:22px;padding:3px 5px;text-align: left;">' . $context . '</td></tr>';
241     }
242     $tables .= '</tbody></table>';
243     return $tables;
244 }

 

 

 

 

下面是快递100和爱查快递api接口示例web

 

 1 /** 快递100 https://www.kuaidi100.com/openapi/api_post.shtml
 2  * @param $com 快递公司代码,不支持中文
 3  * @param $nu 快递单号,请勿带特殊符号,不支持中文(大小写不敏感)
 4  * @param $show 返回类型:若是不填,默认返回json字符串
 5                 0:返回json字符串,
 6                 1:返回xml对象,
 7                 2:返回html对象,
 8                 3:返回text文本。
 9  * @return string
10  */

 

11 function php100($com,$nu){
12     $AppKey= API_Sceret?API_Sceret:'a704e4fb5fcc8124';//请将XXXXXX替换成您在http://kuaidi100.com/app/reg.html申请到的KEY
13     $url ='http://api.kuaidi100.com/api?id='.$AppKey.'&com='.$com.'&nu='.$nu.'&show=2&muti=1&order=asc';
14     //请勿删除变量$powered 的信息,不然本站将再也不为你提供快递接口服务。
15     $powered = '查询数据由:<a href=\"http://kuaidi100.com\" target=\"_blank\">KuaiDi100.Com (快递100)</a> 网站提供 ';
16     //优先使用curl模式发送数据
17     if (function_exists('curl_init') == 1){
18         $curl = curl_init();
19         curl_setopt ($curl, CURLOPT_URL, $url);
20         curl_setopt ($curl, CURLOPT_HEADER,0);
21         curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
22         curl_setopt ($curl, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
23         curl_setopt ($curl, CURLOPT_TIMEOUT,5);
24         $con = curl_exec($curl);
25         curl_close ($curl);
26     }
27 
28     return 'document.write("' . $con .'<br/>' . $powered.'");';
29 }
30  
32 
33 

 

爱查快递 http://api.ickd.cn/?id=[]&secret=[]&com=[]&nu=[]&type=[]&encode=[]&ord=[]&lang=[]
 /*com  必须 快递公司代码(英文),所支持快递公司见以下列表
 nu 必须 快递单号,长度必须大于5位
 id 必须 受权KEY,申请请点击快递查询API申请方式
 在新版中ID为一个纯数字型,此时必须添加参数secret(secret为一个小写的字符串)
 secret 必选(新增) 该参数为新增长,老用户能够使用申请时填写的邮箱和接收到的KEY值登陆http://api.ickd.cn/users/查看对应secret值
 type   可选 返回结果类型,值分别为 html | json(默认) | text | xml
 encode 可选 gbk(默认)| utf8
 ord    可选 asc(默认)|desc,返回结果排序
 lang   可选 en返回英文结果,目前仅支持部分快递(EMS、顺丰、DHL)*/
 1  function lookorder($com,$nu,$type)
 2 {
 3     $api_id = API_Id;
 4      $api_sceret = API_Sceret;
 5      $url2 = "http://api.ickd.cn/?com=" . $com . "&nu=" . trim($nu) . "&id=" . $api_id . "&type=" . $type . "&secret=" . $api_sceret . "&encode=utf8";
 6      $con = file_get_contents($url2);
 7      if ($type == "json") {
 8          return $con;
 9      } else {
10          return "document.write('" . $con . "');";
11      }
12  }