使用Php开发语言??调用接口,常见问题基本是数据签名错误导致接口联调失败。当您在电商平台调用快鸟接口时,为提高对接效率,为您提供一些直接复制使用的方法。前几篇也有说明,内容过多不便准确阅读,重点部分特意超前,供大家参考。方法调用的代码实现`//电商IDdefined('EBusinessID')ordefine('EBusinessID','请到快递鸟官网申请http://kdniao.com/reg');//电商加密私钥,由快鸟提供,请妥善保管,不要泄露defined('AppKey')ordefine('AppKey','请到快鸟官网申请http://kdniao.com/reg');//请求urldefined('ReqURL')ordefine('ReqURL','http://api.kdniao.com/Ebusine...');//调用查询物流轨迹//--------------------------------------------$logisticResult=getOrderTracesByJson();echologisticResult;`Php封装方法`//---------------------------------------------/***Json方法查询订单物流轨迹*/functiongetOrderTracesByJson(){$requestData="{'OrderCode':'','ShipperCode':'YTO','LogisticCode':'12345678'}";$datas=array('EBusinessID'=>EBusinessID,'RequestType'=>'1002','RequestData'=>urlencode($requestData),'DataType'=>'2',);$datas\['DataSign'\]=encrypt($requestData,AppKey);$result=sendPost(ReqURL,$datas);//根据公司业务处理返回的信息...return$result;}/***post提交数据*@paramstring$urlrequestUrl*@paramarray$datas提供的数据*@returnurl响应返回的html*/functionsendPost($url,$datas){$temps=array();foreach($datasas$key=>$value){$temps\[\]=sprintf('%s=%s',$key,$value);}$post\_data=implode('&',$temps);$url\_info=解析\_url($url);如果(空($url_info['port'])){$url_info['port']=80;}$httpheader="POST".$url_info['路径']。"HTTP/1.0\r\n";$httpheader.="主机:".$url_info['主机']。"\r\n";$httpheader.="Content-Type:application/x-www-form-urlencoded\r\n";$httpheader.="内容长度:".strlen($post_data)。"\r\n";$httpheader.="连接:关闭\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")){休息;}}while(!feof($fd)){$gets.=fread($fd,128);}fclose($fd);返回$获取;}/***电商Sign签名生成*@paramdatacontent*@paramappkeyAppkey*@returnDataSignsignature*/functionencrypt($data,$appkey){returnurlencode(base64_encode(md5($data,$appkey)));}`
