背景:不久前,設計實現了京東api的功能,發現如果換了其它快遞再重新設計,豈不是會浪費太多的時間,所以選個第三方提供的快遞api是最為合理的,下面給出快遞鳥和快遞100的設計實現。
1.首先要有乙個快遞鳥賬號,根據對方的要求,完善使用者申請。
2.根據自己的需求,開通服務
3.進入「我的api介面」,根據「介面」中的開發文件了解設計需求,**官方demo,編輯為適合自己的**。
1.修改官方的demo**,我在此分離出了乙個快遞類,提高適用性
2.引入類檔案,例項化並進行測試
(注意:引用此api時,明確除傳入物流單號引數外,還需要「快遞公司編碼」,可點選**後存入自己設計平台的資料庫,發現一點,excel表中沒有京東物流卻可以使用「jd」查到,估計是**更新不夠即時性)
3.輸出效果
include_once'express.php';
$waybillcode = 'va33016759650';
$express =newexpress();
$res = $express->expressinfo($waybillcode);
$trace = $res['data'];
var_dump($trace);
(注意:此處只需傳入乙個快遞單號即可,相比前面的快遞鳥api而言,更為智慧型)
顯然,需要按照獲取到的物流資訊中的「com」與快遞100提供的編碼進行對應,然後發現,只有word文件,如果有excel表,那就方便錄入資料庫了...
更新後的express.class.php **如下:
<?php /**
* express.class.php 快遞查詢類 v1.0
* * @copyright 百鬼夜行
* @lastmodify 2017-01-19
*/class express
else
}return $result;
} //快遞100物流公司
public function traceexpress()
/** 網頁內容獲取方法
*/private function getcontent($url)
else
return $file_contents;
} /*
* 獲取對應名稱和對應傳值的方法
*/private function expressname($order)
"), true);
$result = $name[0]['comcode'];
if (empty($result)) else
} /*
* 返回$data array 快遞陣列查詢失敗返回false
* @param $order 快遞的單號
* $data['ischeck'] ==1 已經簽收
* $data['data'] 快遞實時查詢的狀態 array
*/public function getorder($order)
else &postid=");
$data = json_decode($result, true);
return $data;}}}
php快遞查詢
class express 採集網頁內容的方法 private function getcontent url else return file contents 獲取對應名稱和對應傳值的方法 private function expressname return name 解析object成陣列的...
php 免費的快遞查詢介面快遞100
這個快遞100的介面是免費的,但是查詢過頻繁的話可能就沒什麼效果了。專案比較正規的話還是建議通過申請企業版的物流介面 直接上 public function get expressop foreach arr as k v if output exit json encode false if st...
PHP實現MYSQL的查詢功能
header content type text html charset utf 8 host 127.0.0.1 port 3306 user root pass 123654 charset utf8 設定預設字元 link mysql connect host port user,pass ...