java电商项目开发源码商城对接物流跟踪接口的java源码哪里可以下载?

import java.io.BufferedR
import java.io.IOE
import java.io.InputStreamR
import java.io.OutputStreamW
import java.io.UnsupportedEncodingE
import java.net.HttpURLC
import java.net.URL;
import java.net.URLE
import java.security.MessageD
import java.util.HashM
import java.util.M
* 快递鸟单号识别接口
* ID和Key请到官网申请:/ServiceApply.aspx
public class KdApiOrderDistinguish {
public static void main(String[] args) {
KdApiOrderDistinguish api = new KdApiOrderDistinguish();
String result = api.getOrderTracesByJson("7");
System.out.print(result);
} catch (Exception e) {
e.printStackTrace();
private String EBusinessID="请到快递鸟官网申请/ServiceApply.aspx";
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
private String AppKey="请到快递鸟官网申请/ServiceApply.aspx";
private String ReqURL="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
* Json方式 单号识别
* @throws Exception
public String getOrderTracesByJson(String expNo) throws Exception{
String requestData= "{'LogisticCode':'" + expNo + "'}";
Map&String, String& params = new HashMap&String, String&();
params.put("RequestData", urlEncoder(requestData, "UTF-8"));
params.put("EBusinessID", EBusinessID);
params.put("RequestType", "2002");
String dataSign=encrypt(requestData, AppKey, "UTF-8");
params.put("DataSign", urlEncoder(dataSign, "UTF-8"));
params.put("DataType", "2");
String result=sendPost(ReqURL, params);
//根据公司业务处理返回的信息......
* @param str 内容
* @param charset 编码方式
* @throws Exception
@SuppressWarnings("unused")
private String MD5(String str, String charset) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes(charset));
byte[] result = md.digest();
StringBuffer sb = new StringBuffer(32);
for (int i = 0; i & result. i++) {
int val = result[i] & 0
if (val &= 0xf) {
sb.append("0");
sb.append(Integer.toHexString(val));
return sb.toString().toLowerCase();
* base64编码
* @param str 内容
* @param charset 编码方式
* @throws UnsupportedEncodingException
private String base64(String str, String charset) throws UnsupportedEncodingException{
String encoded = base64Encode(str.getBytes(charset));
@SuppressWarnings("unused")
private String urlEncoder(String str, String charset) throws UnsupportedEncodingException{
String result = URLEncoder.encode(str, charset);
* 电商Sign签名生成
* @param content 内容
* @param keyValue Appkey
* @param charset 编码方式
* @throws UnsupportedEncodingException ,Exception
* @return DataSign签名
@SuppressWarnings("unused")
private String encrypt (String content, String keyValue, String charset) throws UnsupportedEncodingException, Exception
if (keyValue != null)
return base64(MD5(content + keyValue, charset), charset);
return base64(MD5(content, charset), charset);
* 向指定 URL 发送POST方法的请求
* @param url 发送请求的 URL
* @param params 请求的参数集合
* @return 远程资源的响应结果
@SuppressWarnings("unused")
private String sendPost(String url, Map&String, String& params) {
OutputStreamWriter out =
BufferedReader in =
StringBuilder result = new StringBuilder();
URL realUrl = new URL(url);
HttpURLConnection conn =(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 ( MSIE 6.0; Windows NT 5.1;SV1)");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.connect();
// 获取URLConnection对象对应的输出流
out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
// 发送请求参数
if (params != null) {
StringBuilder param = new StringBuilder();
for (Map.Entry&String, String& entry : 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 = new BufferedReader(
new InputStreamReader(conn.getInputStream(), "UTF-8"));
while ((line = in.readLine()) != null) {
result.append(line);
} catch (Exception e) {
e.printStackTrace();
//使用finally块来关闭输出流、输入流
if(out!=null){
out.close();
if(in!=null){
in.close();
catch(IOException ex){
ex.printStackTrace();
return result.toString();
private static char[] base64EncodeChars = new char[] {
'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', '+', '/' };
public static String base64Encode(byte[] data) {
StringBuffer sb = new StringBuffer();
int len = data.
int i = 0;
int b1, b2, b3;
while (i & len) {
b1 = data[i++] & 0
if (i == len)
sb.append(base64EncodeChars[b1 &&& 2]);
sb.append(base64EncodeChars[(b1 & 0x3) && 4]);
sb.append("==");
b2 = data[i++] & 0
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("=");
b3 = data[i++] & 0
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]);
return sb.toString();
阅读(...) 评论()基于java的快递物流轨迹查询接口代码_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于java的快递物流轨迹查询接口代码
&&基于java的快递物流轨迹查询接口代码
你可能喜欢阿里巴巴中国站和淘宝网会员帐号体系、《阿里巴巴服务条款》升级,完成登录后两边同时登录成功。
阿里巴巴找货神器为您推荐
同款货源、相似货源。
让千万商家找到您
感兴趣的产品
感兴趣的产品
感兴趣的产品
感兴趣的产品接口支持的消息接收方式:HTTP POST
请求方法的编码格式(utf-8):"application/x-www-form-charset=utf-8"
请求、返回数据类型:只支持JSON格式
接口提供:快递鸟
系统级参数定义
RequestData
请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。
EBusinessID
商户ID,请在页面查看。
RequestType
请求指令类型:1007
数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码。详细过程请查看Demo。
请求、返回数据类型:只支持JSON格式
import java.io.BufferedR
import java.io.IOE
import java.io.InputStreamR
import java.io.OutputStreamW
import java.io.UnsupportedEncodingE
import java.net.HttpURLC
import java.net.URL;
import java.net.URLE
import java.security.MessageD
import java.util.HashM
import java.util.M
public class KdniaoTrackQueryAPI {
public static void main(String[] args) {
KdniaoTrackQueryAPI api = new KdniaoTrackQueryAPI();
String result = api.getOrderTracesByJson("ANE", "");
System.out.print(result);
} catch (Exception e) {
e.printStackTrace();
private String EBusinessID="请到快递鸟官网申请/ServiceApply.aspx";
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
private String AppKey="请到快递鸟官网申请/ServiceApply.aspx";
private String ReqURL="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
* Json方式 查询订单物流轨迹
* @throws Exception
public String getOrderTracesByJson(String expCode, String expNo) throws Exception{
String requestData= "{'OrderCode':'','ShipperCode':'" + expCode + "','LogisticCode':'" + expNo + "'}";
Map&String, String& params = new HashMap&String, String&();
params.put("RequestData", urlEncoder(requestData, "UTF-8"));
params.put("EBusinessID", EBusinessID);
params.put("RequestType", "1002");
String dataSign=encrypt(requestData, AppKey, "UTF-8");
params.put("DataSign", urlEncoder(dataSign, "UTF-8"));
params.put("DataType", "2");
String result=sendPost(ReqURL, params);
//根据公司业务处理返回的信息......
* XML方式 查询订单物流轨迹
* @throws Exception
public String getOrderTracesByXml() throws Exception{
String requestData= "&?xml version=\"1.0\" encoding=\"utf-8\" ?&"+
"&Content&"+
"&OrderCode&&/OrderCode&"+
"&ShipperCode&SF&/ShipperCode&"+
"&LogisticCode&&/LogisticCode&"+
"&/Content&";
Map&String, String& params = new HashMap&String, String&();
params.put("RequestData", urlEncoder(requestData, "UTF-8"));
params.put("EBusinessID", EBusinessID);
params.put("RequestType", "1002");
String dataSign=encrypt(requestData, AppKey, "UTF-8");
params.put("DataSign", urlEncoder(dataSign, "UTF-8"));
params.put("DataType", "1");
String result=sendPost(ReqURL, params);
//根据公司业务处理返回的信息......
* @param str 内容
* @param charset 编码方式
* @throws Exception
@SuppressWarnings("unused")
private String MD5(String str, String charset) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes(charset));
byte[] result = md.digest();
StringBuffer sb = new StringBuffer(32);
for (int i = 0; i & result. i++) {
int val = result[i] & 0
if (val &= 0xf) {
sb.append("0");
sb.append(Integer.toHexString(val));
return sb.toString().toLowerCase();
* base64编码
* @param str 内容
* @param charset 编码方式
* @throws UnsupportedEncodingException
private String base64(String str, String charset) throws UnsupportedEncodingException{
String encoded = base64Encode(str.getBytes(charset));
@SuppressWarnings("unused")
private String urlEncoder(String str, String charset) throws UnsupportedEncodingException{
String result = URLEncoder.encode(str, charset);
* 电商Sign签名生成
* @param content 内容
* @param keyValue Appkey
* @param charset 编码方式
* @throws UnsupportedEncodingException ,Exception
* @return DataSign签名
@SuppressWarnings("unused")
private String encrypt (String content, String keyValue, String charset) throws UnsupportedEncodingException, Exception
if (keyValue != null)
return base64(MD5(content + keyValue, charset), charset);
return base64(MD5(content, charset), charset);
* 向指定 URL 发送POST方法的请求
* @param url 发送请求的 URL
* @param params 请求的参数集合
* @return 远程资源的响应结果
@SuppressWarnings("unused")
private String sendPost(String url, Map&String, String& params) {
OutputStreamWriter out =
BufferedReader in =
StringBuilder result = new StringBuilder();
URL realUrl = new URL(url);
HttpURLConnection conn =(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 ( MSIE 6.0; Windows NT 5.1;SV1)");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.connect();
// 获取URLConnection对象对应的输出流
out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
// 发送请求参数
if (params != null) {
StringBuilder param = new StringBuilder();
for (Map.Entry&String, String& entry : 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 = new BufferedReader(
new InputStreamReader(conn.getInputStream(), "UTF-8"));
while ((line = in.readLine()) != null) {
result.append(line);
} catch (Exception e) {
e.printStackTrace();
//使用finally块来关闭输出流、输入流
if(out!=null){
out.close();
if(in!=null){
in.close();
catch(IOException ex){
ex.printStackTrace();
return result.toString();
private static char[] base64EncodeChars = new char[] {
'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', '+', '/' };
public static String base64Encode(byte[] data) {
StringBuffer sb = new StringBuffer();
int len = data.
int i = 0;
int b1, b2, b3;
while (i & len) {
b1 = data[i++] & 0
if (i == len)
sb.append(base64EncodeChars[b1 &&& 2]);
sb.append(base64EncodeChars[(b1 & 0x3) && 4]);
sb.append("==");
b2 = data[i++] & 0
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("=");
b3 = data[i++] & 0
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]);
return sb.toString();
defined('EBusinessID') or define('EBusinessID', 1237100);
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
defined('AppKey') or define('AppKey', '518a73d8-1f7f-441a-b644-33e77b49d846');
defined('ReqURL') or define('ReqURL', 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx');
* Json方式 查询订单物流轨迹
function getOrderTracesByJson(){
$requestData= "{'OrderCode':'','ShipperCode':'SF','LogisticCode':''}";
$datas = array(
'EBusinessID' =& EBusinessID,
'RequestType' =& '1002',
'RequestData' =& urlencode($requestData) ,
'DataType' =& '2',
$datas['DataSign'] = encrypt($requestData, AppKey);
$result=sendPost(ReqURL, $datas);
//根据公司业务处理返回的信息......
* XML方式 查询订单物流轨迹
function getOrderTracesByXml(){
$requestData= "&?xml version=\"1.0\" encoding=\"utf-8\" ?&".
"&Content&".
"&OrderCode&&/OrderCode&".
"&ShipperCode&SF&/ShipperCode&".
"&LogisticCode&&/LogisticCode&".
"&/Content&";
$datas = array(
'EBusinessID' =& EBusinessID,
'RequestType' =& '1002',
'RequestData' =& urlencode($requestData) ,
'DataType' =& '1',
$datas['DataSign'] = encrypt($requestData, AppKey);
$result=sendPost(ReqURL, $datas);
//根据公司业务处理返回的信息......
post提交数据
string $url 请求Url
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($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_
$fd = fsockopen($url_info['host'], $url_info['port']);
fwrite($fd, $httpheader);
$gets = "";
$headerFlag =
while (!feof($fd)) {
if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
while (!feof($fd)) {
$gets.= fread($fd, 128);
fclose($fd);
* 电商Sign签名生成
* @param data 内容
* @param appkey Appkey
* @return DataSign签名
function encrypt($data, $appkey) {
return urlencode(base64_encode(md5($data.$appkey)));
using System.Collections.G
using System.L
using System.T
using System.W
using System.N
using System.IO;
namespace KdGoldAPI
public class KdApiSearchDemo
private string EBusinessID = "1237100";
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
private string AppKey = "518a73d8-1f7f-441a-b644-33e77b49d846";
private string ReqURL = "http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
/// &summary&
/// Json方式 查询订单物流轨迹
/// &/summary&
/// &returns&&/returns&
public string getOrderTracesByJson()
string requestData = "{'OrderCode':'','ShipperCode':'SF','LogisticCode':''}";
Dictionary&string, string& param = new Dictionary&string, string&();
param.Add("RequestData", HttpUtility.UrlEncode(requestData, Encoding.UTF8));
param.Add("EBusinessID", EBusinessID);
param.Add("RequestType", "1002");
string dataSign = encrypt(requestData, AppKey, "UTF-8");
param.Add("DataSign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));
param.Add("DataType", "2");
string result = sendPost(ReqURL, param);
//根据公司业务处理返回的信息......
/// &summary&
/// XML方式 查询订单物流轨迹
/// &/summary&
/// &returns&&/returns&
public string getOrderTracesByXml()
string requestData = "&?xml version=\"1.0\" encoding=\"utf-8\" ?&" +
"&Content&" +
"&OrderCode&&/OrderCode&" +
"&ShipperCode&SF&/ShipperCode&" +
"&LogisticCode&&/LogisticCode&" +
"&/Content&";
Dictionary&string, string& param = new Dictionary&string, string&();
param.Add("RequestData", HttpUtility.UrlEncode(requestData, Encoding.UTF8));
param.Add("EBusinessID", EBusinessID);
param.Add("RequestType", "1002");
string dataSign = encrypt(requestData, AppKey, "UTF-8");
param.Add("DataSign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));
param.Add("DataType", "1");
string result = sendPost(ReqURL, param);
//根据公司业务处理返回的信息......
/// &summary&
/// Post方式提交数据,返回网页的源代码
/// &/summary&
/// &param name="url"&发送请求的 URL&/param&
/// &param name="param"&请求的参数集合&/param&
/// &returns&远程资源的响应结果&/returns&
private string sendPost(string url, Dictionary&string, string& param)
string result = "";
StringBuilder postData = new StringBuilder();
if (param != null && param.Count & 0)
foreach (var p in param)
if (postData.Length & 0)
postData.Append("&");
postData.Append(p.Key);
postData.Append("=");
postData.Append(p.Value);
byte[] byteData = Encoding.GetEncoding("UTF-8").GetBytes(postData.ToString());
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/x-www-form-urlencoded";
request.Referer =
request.Accept = "*/*";
request.Timeout = 30 * 1000;
request.UserAgent = "Mozilla/4.0 ( MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.; .NET CLR 3.0.; .NET CLR 3.5.30729)";
request.Method = "POST";
request.ContentLength = byteData.L
Stream stream = request.GetRequestStream();
stream.Write(byteData, 0, byteData.Length);
stream.Flush();
stream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream backStream = response.GetResponseStream();
StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding("UTF-8"));
result = sr.ReadToEnd();
sr.Close();
backStream.Close();
response.Close();
request.Abort();
catch (Exception ex)
result = ex.M
///&summary&
///电商Sign签名
///&/summary&
///&param name="content"&内容&/param&
///&param name="keyValue"&Appkey&/param&
///&param name="charset"&URL编码 &/param&
///&returns&DataSign签名&/returns&
private string encrypt(String content, String keyValue, String charset)
if (keyValue != null)
return base64(MD5(content + keyValue, charset), charset);
return base64(MD5(content, charset), charset);
///&summary&
/// 字符串MD5加密
///&/summary&
///&param name="str"&要加密的字符串&/param&
///&param name="charset"&编码方式&/param&
///&returns&密文&/returns&
private string MD5(string str, string charset)
byte[] buffer = System.Text.Encoding.GetEncoding(charset).GetBytes(str);
System.Security.Cryptography.MD5CryptoServiceP
check = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] somme = puteHash(buffer);
string ret = "";
foreach (byte a in somme)
if (a & 16)
ret += "0" + a.ToString("X");
ret += a.ToString("X");
return ret.ToLower();
/// &summary&
/// base64编码
/// &/summary&
/// &param name="str"&内容&/param&
/// &param name="charset"&编码方式&/param&
/// &returns&&/returns&
private string base64(String str, String charset)
return Convert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
阅读(...) 评论()}

我要回帖

更多关于 java开源电商系统源码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信