本文主要是介绍快递鸟获取物流信息的接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
public function get_express() {$id=I('get.id'); $sn=I('get.sn'); $res= M('delivery_doc')->where( 'order_sn='.$sn)->find(); $shopcode=$res['shipping_code'];//物流编号 $info=$res['invoice_no']; //物流名称 $info=$this->getOrderTracesByJson($shopcode,$info); header("Content-type:text/html;charset=utf-8"); $info=object2array(json_decode($info)); exit(json_encode(array('status'=>1,'msg'=>'获取成功','result'=>array('info'=>$info),))); }function getOrderTracesByJson($shopcode,$info){$requestData= "{'OrderCode': '','ShipperCode':'$shopcode','LogisticCode':'$info'}"; $datas = array('EBusinessID' => 1294462, 'RequestType' => '1002', 'RequestData' => urlencode($requestData) , 'DataType' => '2', ); $datas['DataSign'] = $this->encrypt($requestData, "ffeaad69-dc5d-4f7e-a4d7-0f17d3e2492c"); $result=$this->sendPost("http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx", $datas); //根据公司业务处理返回的信息...... return $result; }/** * post提交数据 * @param string $url 请求Url * @param array $datas 提交的数据 * @return url响应返回的html */ function sendPost($url, $datas) {$temps = array(); foreach ($datas as $key => $value) {$temps[] = sprintf('%s=%s', $key, $value); }$post_data = implode('&', $temps); $url_info = parse_url($url); if(empty($url_info['port'])){$url_info['port']=80; }$httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n"; $httpheader.= "Host:" . $url_info['host'] . "\r\n"; $httpheader.= "Content-Type:application/x-www-form-urlencoded\r\n"; $httpheader.= "Content-Length:" . strlen($post_data) . "\r\n"; $httpheader.= "Connection:close\r\n\r\n"; $httpheader.= $post_data; $fd = fsockopen($url_info['host'], $url_info['port']); fwrite($fd, $httpheader); $gets = ""; $headerFlag = true; while (!feof($fd)) {if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {break; }}while (!feof($fd)) {$gets.= fread($fd, 128); }fclose($fd); return $gets; }/** * 电商Sign签名生成 * @param data 内容 * @param appkey Appkey * @return DataSign签名 */ function encrypt($data, $appkey) {return urlencode(base64_encode(md5($data.$appkey))); }
这篇关于快递鸟获取物流信息的接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!