[PHP] 免费/不限量-快递查询接口API对接案例 →→→→→进入此内容的聊天室

来自 , 2021-01-29, 写在 PHP, 查看 138 次.
URL http://www.code666.cn/view/88855547
  1. <?php
  2. //电商ID
  3. defined('EBusinessID') or define('EBusinessID', 1237100);
  4. //电商加密私钥,快递鸟提供,注意保管,不要泄漏(需重新申请)
  5. defined('AppKey') or define('AppKey', '518a73d8-1f7f-441a-b644-33e77b49d846');
  6. //请求url
  7. defined('ReqURL') or define('ReqURL', 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx');
  8.  
  9. /**
  10.  * Json方式  物流信息订阅
  11.  */
  12. function orderTracesSubByJson(){
  13.         $requestData="{'Code': 'SF','Item': [".
  14.                            "{'No': '909261024507','Bk': 'test'},".
  15.                            "{'No': '589554393102','Bk': 'test'},".
  16.                            "{'No': '589522101958','Bk': 'test'},".
  17.                            "{'No': '909198822942', 'Bk': 'test'}".
  18.                            "]}";
  19.        
  20.         $datas = array(
  21.         'EBusinessID' => EBusinessID,
  22.         'RequestType' => '1005',
  23.         'RequestData' => urlencode($requestData) ,
  24.         'DataType' => '2',
  25.     );
  26.     $datas['DataSign'] = encrypt($requestData, AppKey);
  27.         $result=sendPost(ReqURL, $datas);      
  28.        
  29.         //根据公司业务处理返回的信息......
  30.        
  31.         return $result;
  32. }
  33.  
  34. /**
  35.  * XML方式  物流信息订阅
  36.  */
  37. function orderTracesSubByXml(){
  38.         $requestData="<?xml version=\"1.0\" encoding=\"utf-8\" ?>".
  39.                                 "<Content>".
  40.                                 "<Code>SF</Code>".
  41.                                 "<Items>".
  42.                                 "<Item>".
  43.                                 "<No>909261024507</No>".
  44.                                 "<Bk>test</Bk>".
  45.                                 "</Item>".
  46.                                 "<Item>".
  47.                                 "<No>909261024507</No>".
  48.                                 "<Bk>test</Bk>".
  49.                                 "</Item>".
  50.                                 "</Items>".
  51.                                 "</Content>";  
  52.        
  53.         $datas = array(
  54.         'EBusinessID' => EBusinessID,
  55.         'RequestType' => '1005',
  56.         'RequestData' => urlencode($requestData) ,
  57.         'DataType' => '1',
  58.     );
  59.     $datas['DataSign'] = encrypt($requestData, AppKey);
  60.         $result=sendPost(ReqURL, $datas);      
  61.        
  62.         //根据公司业务处理返回的信息......
  63.        
  64.         return $result;
  65. }
  66.  
  67. /**
  68.  *  post提交数据
  69.  * @param  string $url 请求Url
  70.  * @param  array $datas 提交的数据
  71.  * @return url响应返回的html
  72.  */
  73. function sendPost($url, $datas) {
  74.     $temps = array();  
  75.     foreach ($datas as $key => $value) {
  76.         $temps[] = sprintf('%s=%s', $key, $value);             
  77.     }  
  78.     $post_data = implode('&', $temps);
  79.     $url_info = parse_url($url);
  80.         if($url_info['port']=='')
  81.         {
  82.                 $url_info['port']=80;  
  83.         }
  84.         echo $url_info['port'];
  85.     $httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";
  86.     $httpheader.= "Host:" . $url_info['host'] . "\r\n";
  87.     $httpheader.= "Content-Type:application/x-www-form-urlencoded\r\n";
  88.     $httpheader.= "Content-Length:" . strlen($post_data) . "\r\n";
  89.     $httpheader.= "Connection:close\r\n\r\n";
  90.     $httpheader.= $post_data;
  91.     $fd = fsockopen($url_info['host'], $url_info['port']);
  92.     fwrite($fd, $httpheader);
  93.     $gets = "";
  94.         $headerFlag = true;
  95.         while (!feof($fd)) {
  96.                 if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
  97.                         break;
  98.                 }
  99.         }
  100.     while (!feof($fd)) {
  101.                 $gets.= fread($fd, 128);
  102.     }
  103.     fclose($fd);  
  104.    
  105.     return $gets;
  106. }
  107.  
  108. /**
  109.  * 电商Sign签名生成
  110.  * @param data 内容  
  111.  * @param appkey Appkey
  112.  * @return DataSign签名
  113.  */
  114. function encrypt($data, $appkey) {
  115.     return urlencode(base64_encode(md5($data.$appkey)));
  116. }
  117.  
  118. ?>

回复 "免费/不限量-快递查询接口API对接案例"

这儿你可以回复上面这条便签

captcha