免费物流查询API调用案例参考.docx

上传人:b****6 文档编号:3304218 上传时间:2022-11-21 格式:DOCX 页数:18 大小:19.98KB
下载 相关 举报
免费物流查询API调用案例参考.docx_第1页
第1页 / 共18页
免费物流查询API调用案例参考.docx_第2页
第2页 / 共18页
免费物流查询API调用案例参考.docx_第3页
第3页 / 共18页
免费物流查询API调用案例参考.docx_第4页
第4页 / 共18页
免费物流查询API调用案例参考.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

免费物流查询API调用案例参考.docx

《免费物流查询API调用案例参考.docx》由会员分享,可在线阅读,更多相关《免费物流查询API调用案例参考.docx(18页珍藏版)》请在冰豆网上搜索。

免费物流查询API调用案例参考.docx

免费物流查询API调用案例参考

免费物流查询API调用案例参考

 

这是来自快递鸟的一个快递查询的api接口,支持快递单号查询,接口不错,分享三个案例给大家。

 接口申请地址:

JAVA代码

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.OutputStreamWriter;

importjava.io.UnsupportedEncodingException;

import.HttpURLConnection;

import.URL;

import.URLEncoder;

importjava.security.MessageDigest;

importjava.util.HashMap;

importjava.util.Map;

publicclassKdniaoTrackQueryAPI{

//DEMO

publicstaticvoidmain(String[]args){

KdniaoTrackQueryAPIapi=newKdniaoTrackQueryAPI();

try{

Stringresult=api.getOrderTracesByJson("ANE","210001633605");

System.out.print(result);

}catch(Exceptione){

e.printStackTrace();

}

}

//电商ID

privateStringEBusinessID="请申请";

privateStringAppKey="请申请";

//请求url

privateStringReqURL="http:

//api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";

/**

*Json方式查询订单物流轨迹

*@throwsException

*/

publicStringgetOrderTracesByJson(StringexpCode,StringexpNo)throwsException{

StringrequestData="{'OrderCode':

'','ShipperCode':

'"+expCode+

"','LogisticCode':

'"+expNo+"'}";

Mapparams=newHashMap();

params.put("RequestData",urlEncoder(requestData,"UTF-8"));

params.put("EBusinessID",EBusinessID);

params.put("RequestType","1002");

StringdataSign=encrypt(requestData,AppKey,"UTF-8");

params.put("DataSign",urlEncoder(dataSign,"UTF-8"));

params.put("DataType","2");

Stringresult=sendPost(ReqURL,params);

//根据公司业务处理返回的信息......

returnresult;

}

/**

*XML方式查询订单物流轨迹

*@throwsException

*/

publicStringgetOrderTracesByXml()throwsException{

StringrequestData="

xmlversion=\"1.0\"encoding=\"utf-8\"?

>"+

""+

""+

"SF"+

"589707398027"+

"";

Mapparams=newHashMap();

params.put("RequestData",urlEncoder(requestData,"UTF-8"));

params.put("EBusinessID",EBusinessID);

params.put("RequestType","1002");

StringdataSign=encrypt(requestData,AppKey,"UTF-8");

params.put("DataSign",urlEncoder(dataSign,"UTF-8"));

params.put("DataType","1");

Stringresult=sendPost(ReqURL,params);

//根据公司业务处理返回的信息......

returnresult;

}

/**

*MD5加密

*@paramstr内容

*@paramcharset编码方式

*@throwsException

*/

@SuppressWarnings("unused")

privateStringMD5(Stringstr,Stringcharset)throwsException{

MessageDigestmd=MessageDigest.getInstance("MD5");

md.update(str.getBytes(charset));

byte[]result=md.digest();

StringBuffersb=newStringBuffer(32);

for(inti=0;i

intval=result[i]&0xff;

if(val<=0xf){

sb.append("0");

}

sb.append(Integer.toHexString(val));

}

returnsb.toString().toLowerCase();

}

/**

*base64编码

*@paramstr内容

*@paramcharset编码方式

*@throwsUnsupportedEncodingException

*/

privateStringbase64(Stringstr,Stringcharset)throwsUnsupportedEncodingException{

Stringencoded=base64Encode(str.getBytes(charset));

returnencoded;

}

@SuppressWarnings("unused")

privateStringurlEncoder(Stringstr,Stringcharset)throwsUnsupportedEncodingException{

Stringresult=URLEncoder.encode(str,charset);

returnresult;

}

/**

*电商Sign签名生成

*@paramcontent内容

*@paramkeyValueAppkey

*@paramcharset编码方式

*@throwsUnsupportedEncodingException,Exception

*@returnDataSign签名

*/

@SuppressWarnings("unused")

privateStringencrypt(Stringcontent,StringkeyValue,Stringcharset)throws

UnsupportedEncodingException,Exception

{

if(keyValue!

=null)

{

returnbase64(MD5(content+keyValue,charset),charset);

}

returnbase64(MD5(content,charset),charset);

}

/**

*向指定URL发送POST方法的请求

*@paramurl发送请求的URL

*@paramparams请求的参数集合

*@return远程资源的响应结果

*/

@SuppressWarnings("unused")

privateStringsendPost(Stringurl,Mapparams){

OutputStreamWriterout=null;

BufferedReaderin=null;

StringBuilderresult=newStringBuilder();

try{

URLrealUrl=newURL(url);

HttpURLConnectionconn=(HttpURLConnection)realUrl.openConnection();

//发送POST请求必须设置如下两行

conn.setDoOutput(true);

conn.setDoInput(true);

//POST方法

conn.setRequestMethod("POST");

//设置通用的请求属性

conn.setRequestProperty("accept","*/*");

conn.setRequestProperty("connection","Keep-Alive");

conn.setRequestProperty("user-agent",

"Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");

conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

conn.connect();

//获取URLConnection对象对应的输出流

out=newOutputStreamWriter(conn.getOutputStream(),"UTF-8");

//发送请求参数

if(params!

=null){

StringBuilderparam=newStringBuilder();

for(Map.Entryentry:

params.entrySet()){

if(param.length()>0){

param.append("&");

}

param.append(entry.getKey());

param.append("=");

param.append(entry.getValue());

//System.out.println(entry.getKey()+":

"+entry.getValue());

}

//System.out.println("param:

"+param.toString());

out.write(param.toString());

}

//flush输出流的缓冲

out.flush();

//定义BufferedReader输入流来读取URL的响应

in=newBufferedReader(

newInputStreamReader(conn.getInputStream(),"UTF-8"));

Stringline;

while((line=in.readLine())!

=null){

result.append(line);

}

}catch(Exceptione){

e.printStackTrace();

}

//使用finally块来关闭输出流、输入流

finally{

try{

if(out!

=null){

out.close();

}

if(in!

=null){

in.close();

}

}

catch(IOExceptionex){

ex.printStackTrace();

}

}

returnresult.toString();

}

privatestaticchar[]base64EncodeChars=newchar[]{

'A','B','C','D','E','F','G','H',

'I','J','K','L','M','N','O','P',

'Q','R','S','T','U','V','W','X',

'Y','Z','a','b','c','d','e','f',

'g','h','i','j','k','l','m','n',

'o','p','q','r','s','t','u','v',

'w','x','y','z','0','1','2','3',

'4','5','6','7','8','9','+','/'};

publicstaticStringbase64Encode(byte[]data){

StringBuffersb=newStringBuffer();

intlen=data.length;

inti=0;

intb1,b2,b3;

while(i

b1=data[i++]&0xff;

if(i==len)

{

sb.append(base64EncodeChars[b1>>>2]);

sb.append(base64EncodeChars[(b1&0x3)<<4]);

sb.append("==");

break;

}

b2=data[i++]&0xff;

if(i==len)

{

sb.append(base64EncodeChars[b1>>>2]);

sb.append(base64EncodeChars[((b1&0x03)<<4)|((b2&0xf0)>>>4)]);

sb.append(base64EncodeChars[(b2&0x0f)<<2]);

sb.append("=");

break;

}

b3=data[i++]&0xff;

sb.append(base64EncodeChars[b1>>>2]);

sb.append(base64EncodeChars[((b1&0x03)<<4)|((b2&0xf0)>>>4)]);

sb.append(base64EncodeChars[((b2&0x0f)<<2)|((b3&0xc0)>>>6)]);

sb.append(base64EncodeChars[b3&0x3f]);

}

returnsb.toString();

}

}

PHP代码

php

//电商ID

defined('EBusinessID')ordefine('EBusinessID',1237100);

//电商加密私钥,注意保管,不要泄漏

defined('AppKey')ordefine('AppKey','518a73d8-1f7f-441a-b644-33e77b49d846');

//请求url

defined('ReqURL')ordefine('ReqURL','http:

//api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx');

/**

*Json方式查询订单物流轨迹

*/

functiongetOrderTracesByJson(){

$requestData="{'OrderCode':

'','ShipperCode':

'SF','LogisticCode':

'589707398027'}";

$datas=array(

'EBusinessID'=>EBusinessID,

'RequestType'=>'1002',

'RequestData'=>urlencode($requestData),

'DataType'=>'2',

);

$datas['DataSign']=encrypt($requestData,AppKey);

$result=sendPost(ReqURL,$datas);

//根据公司业务处理返回的信息......

return$result;

}

/**

*XML方式查询订单物流轨迹

*/

functiongetOrderTracesByXml(){

$requestData="

xmlversion=\"1.0\"encoding=\"utf-8\"?

>".

"".

"".

"SF".

"589707398027".

"";

$datas=array(

'EBusinessID'=>EBusinessID,

'RequestType'=>'1002',

'RequestData'=>urlencode($requestData),

'DataType'=>'1',

);

$datas['DataSign']=encrypt($requestData,AppKey);

$result=sendPost(ReqURL,$datas);

//根据公司业务处理返回的信息......

return$result;

}

/**

*post提交数据

*@paramstring$url请求Url

*@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=parse_url($url);

if($url_info['port']=='')

{

$url_info['port']=80;

}

echo$url_info['port'];

$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签名生成

*@paramdata内容

*@paramappkeyAppkey

*@returnDataSign签名

*/

functionencrypt($data,$appkey){

returnurlencode(base64_encode(md5($data.$appkey)));

}

?

>

.NET代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Web;

usingSystem.Net;

usingSystem.IO;

namespaceK

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1