php利用快遞100接口獲取物流信息


PHP使用CURL調用快遞100接口查詢運單信息

下面是我封裝的類:

<?php
/**
* 快遞100接口調用類
* @author 齊雲海
* date: 2019/05/29
*/

class Express100
{
  // 密鑰
  private $key = '密鑰';
  // 客戶編號
  private $customer = '客戶編號';

    /**
    * 發起請求
    * @param $com String 快遞公司編號
    * @param $num String 快遞單號
    */
    public function kd_request($com, $num)
    {
      // 請求參數
      $param = array(
        'com'=>$com,
        'num'=>$num
      );
      $param = json_encode($param);
      // 簽名
      $sign = strtoupper(md5($param.$this->key.$this->customer));
      // 請求條件
      $post_data = array(
        'customer'=>$this->customer,
        'sign'=>$sign,
        'param'=>$param
      );
      $o="";
      foreach ($post_data as $k=>$v)
      {
        $o.= "$k=".urlencode($v)."&";    //默認UTF-8編碼格式
      }
      $post_data=substr($o,0,-1);
      // CURL POST請求接口
      $url = 'https://poll.kuaidi100.com/poll/query.do';
      $ch = curl_init();//初始化curl
      curl_setopt($ch, CURLOPT_URL,$url);//抓取指定網頁
      curl_setopt($ch, CURLOPT_HEADER, 0);//設置header
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結果為字符串且輸出到屏幕上
      curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
      // 關閉SSL驗證
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      // 請求
      curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
      $data = curl_exec($ch);//運行curl
      if (curl_errno($ch)) {
        return curl_error($ch);
      }
      curl_close($ch);
      // 返回運單詳情 ( 以數組的形式返回 )
      return json_decode($data, true);
    }

}

調用方式:(new Express100) -> kd_request('快遞公司編號', '快遞單號');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM