Heim >Backend-Entwicklung >PHP-Tutorial >PHP 通过单号查询快递( 申通、EMS、顺丰、圆通、中通、韵达、天天、汇通、全峰、德邦、宅急送)
<?phpheader ('content-type:text/html;charset=utf-8');/*** @param $url String* @param array $post* @param array $options* @return mixed at most json*/function curl_get($url, array $post = NULL, array $options = array()){ $defaults = array( CURLOPT_HEADER => 0, CURLOPT_URL => $url, CURLOPT_FRESH_CONNECT => 1, CURLOPT_RETURNTRANSFER => 1, CURLOPT_FORBID_REUSE => 1, CURLOPT_TIMEOUT => 4, CURLOPT_POSTFIELDS => http_build_query($post) ); $ch = curl_init(); curl_setopt_array($ch, ($options + $defaults)); if( ! $result = curl_exec($ch)) { trigger_error(curl_error($ch)); } curl_close($ch); return $result;}//正确的返回格式 JSON/*** {"message":"ok","state":"3″,"data":[{"context":"已签收,签收人是【本人】",* "time":"2013-12-15 11:02:26","ftime":"2013-12-15 11:02:26"},{"context":"* 【湖南长沙雨花分公司】的派件员【林大自取分部82177562 电话(82171562)】正在派件",* "time":"2013-12-14 21:43:38","ftime":"2013-12-14 21:43:38"},{"context":* "快件已到达【湖南长沙雨花分公司】 扫描员是【汤建敏】上一站是【】","time":"2013-12-14* 17:19:52","ftime":"2013-12-14 17:19:52"},{"context":"由【湖南长沙航空部】发往* 【湖南长沙雨花分公司】","time":"2013-12-14 16:26:36","ftime":"2013-12-14 16:26:36"}* ,{"context":"【浙江萧山公司】正在进行【装袋】扫描","time":"2013-12-12 18:59:17",* "ftime":"2013-12-12 18:59:17"},{"context":"由【浙江萧山公司】发往【湖南长沙中转部】"* ,"time":"2013-12-12 18:59:17","ftime":"2013-12-12 18:59:17"},{"context":"【浙江萧山公司】* 的收件员【公司汉帛 】已收件","time":"2013-12-12 18:20:47","ftime":"2013-12-12 18:20:47"},* {"context":"【浙江萧山公司】的收件员【公司汉帛 】已收件","time":"2013-12-12* 14:56:21","ftime":"2013-12-12 14:56:21"}],"status":"200″,"com":"shentong","nu":* "768064369802″,"condition":"F00″,"ischeck":"1″}*///正确放回的格式 JSON/*** {"message":"ok","state":"3″,* "data":[{"context":"微山县付村邮电支局:投递并签收* 投递结果:他人签收代收","time":"2013-12-17 15:42:00",* "ftime":"2013-12-17 15:42:00"},{"context":"微山县付村邮电支局:投递并签收",* "time":"2013-12-17 09:47:00","ftime":"2013-12-17 09:47:00"}* ,{"context":"微山县邮政局速递公司:离开处理中心,发往微山县付村邮电支局",* "time":"2013-12-16 18:38:56","ftime":"2013-12-16 18:38:56"},* {"context":"微山县邮政局速递公司:到达处理中心,来自金华市","time":"* 2013-12-16 17:27:18","ftime":"2013-12-16 17:27:18"},{"context":* "金华市:离开处理中心,发往枣庄市","time":"2013-12-14 23:57:43","ftime":* "2013-12-14 23:57:43"},{"context":"金华市:到达处理中心,来自义乌市",* "time":"2013-12-14 22:51:02","ftime":"2013-12-14 22:51:02"},* {"context":"义乌市义乌市电子商务分公司:收寄","time":"2013-12-14 15:00:00",* "ftime":"2013-12-14 15:00:00"}],"status":"200″,"com":"ems","nu":"5000655082802″,* "condition":"F00″,"ischeck":"1″}*///错误的格式 JSON/*** {"status":"201″,"message":"快递公司参数异常:单号不存在或者已经过期"}*//*** @param string $postid 快递单号* @param string $type 快递类型* shentong ?> 申通* ems ?> EMS* shunfeng ?> 顺丰* yuantong ?> 圆通* zhongtong ?> 中通* yunda ?> 韵达* tiantian ?> 天天快递* huitongkuaidi ?> 汇通快递* quanfengkuaidi ?> 全峰快递* debangwuliu ?> 德邦物流* zhaijisong ?> 宅急送* @return mixed json格式*/function Dquery($postid = '268323324324' , $type = 'shentong'){ $post_data = array ( "type" => $type, "postid" => $postid , "id" => "1", "valicode" => "", "temp" => '0.7771608149632812' ) ; $url ='http://www.kuaidi100.com/query'; return curl_get($url,$post_data);}/*** 申通快递* @param string $postid String 快递单号* @return mixed at most json*/function shentong($postid = '229055602837'){ return Dquery($postid,'shentong');}/*** EMS* @param string $postid 快递单号* @return mixed JSON*/function EMS($postid = '5000655082802'){ return Dquery($postid,'ems');}/*** 顺丰快递* @param string $postid 快递单号* @return mixed JSON*/function shunfeng($postid = '370270606236'){ return Dquery($postid,'shunfeng');}/*** 圆通快递* @param string $postid 快递单号* @return mixed JSON*/function yuantong($postid = '9149223354'){ return Dquery($postid,'yuantong');}/*** 中通快递* @param string $postid 快递单号* @return mixed JSON*/function zhongtong($postid = '778179380478'){ return Dquery($postid,'zhongtong');}/*** 韵达快递* @param string $postid 快递单号* @return mixed JSON*/function yunda($postid = '1201030121554'){ return Dquery($postid,'yunda');}/*** 天天快递* @param string $postid 快递单号* @return mixed JSON*/function tiantian($postid = '580054419316'){ return Dquery($postid,'tiantian');}/*** 汇通快递* @param string $postid 快递单号* @return mixed JSON*/function huitongkuaidi($postid='210322948150'){ return Dquery($postid,'huitongkuaidi');}/*** 全峰快递* @param string $postid 快递单号* @return mixed JSON*/function quanfengkuaidi($postid='340003662547'){ return Dquery($postid,'quanfengkuaidi');}/*** 德邦物流* @param string $postid 快递单号* @return mixed JSON*/function debangwuliu($postid='16312048'){ return Dquery($postid,'debangwuliu');}/*** 宅急送* @param string $postid 快递单号* @return mixed JSON*/function chaijisong($postid = '3332776112'){ return Dquery($postid,'zhaijisong');}//Debug 这里是调用时的 debug,最好再加个订单号。//放回格式都是json喔。。 记得解析print_r(json_decode(shentong()));//echo EMS();//echo shunfeng();//echo yuantong();//echo zhongtong();//echo yunda();//echo tiantian();//echo huitongkuaidi();//echo quanfengkuaidi();//echo debangwuliu();?>