查询结果:
后台代码:
public $com = '圆通速递';
public $num = '806212025572998025';
$this->searchKuaiDi($com,$num);
/**
* 快递单号查询
* @param $com string 快递公司编号
* @param $num string 快递单号
*/
public function seachKuaiDi($com,$num)
{
$post_data = [];
$post_data["customer"] = 'XXXX'; //本公司公司编号
$key= 'XXX'; //key
$reglogis = $com;
$logistics = Config::get('logistics'); //快递的配置
$com = strtolower($logistics[$com]);
$post_data["param"] = '{"com":"'.$com.'","num":"'.$num.'"}';
$url='http://poll.kuaidi100.com/poll/query.do';
$post_data["sign"] = md5($post_data["param"].$key.$post_data["customer"]);
$post_data["sign"] = strtoupper($post_data["sign"]);
$o="";
foreach ($post_data as $k=>$v)
{
$o.= "$k=".urlencode($v)."&"; //默认UTF-8编码格式
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
curl_close($ch);
$data = str_replace("\"",'"',$result );
$data = json_decode($data,true);
//$data = json_decode(stripslashes(html_entity_decode($result)),true);
if($data['result'] === false){
return ['status'=>1, 'msg'=>$data['message']];
} else{
//state 0在途中、1已揽收、2疑难、3已签收、4退签、5同城派送中、6退回等状态
return ['status'=>0,'msg'=>$data['message'],'logistics'=>$reglogis,'state'=>$data['state'],'state_msg'=>
$this->STATE_TYPE[$data['state']]?:'未知状态','order'=>$data['nu'],'data'=>$data['data']];
}
}