快递鸟物流查询接口API调用代码示例
快递鸟物流查询接口是免费使用的,没有限制,稳定性也还不错,所以接口对接以快递鸟为例,用户ID和KEY需要自己申请http://www.kdniao.com/reg。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | using
System;
using
System.Collections.Generic;
using
System.IO;
using
System.Linq;
using
System.Net;
using
System.Text;
using
System.Web;
/**
*
* 快递鸟物流轨迹即时查询接口
*
* @技术QQ群: 456320272
* @see: http://www.kdniao.com/YundanChaxunAPI.aspx
* @copyright: 深圳市快金数据技术服务有限公司
*
* DEMO中的电商ID与私钥仅限测试使用,正式环境请单独注册账号
* 单日超过500单查询量,建议接入我方物流轨迹订阅推送接口
*/ namespace
Test {
public
class
KdApiSearchDemoYS
{
//电商ID
private
string
EBusinessID =
"ID需到官网申请:http://www.kdniao.com/ServiceApply.aspx"
;
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
private
string
AppKey =
"Key需到官网申请:http://www.kdniao.com/ServiceApply.aspx"
;
//请求url
private
string
ReqURL =
"http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx"
;
///
/// Json方式 查询订单物流轨迹
///
///
public
string
getOrderTracesByJson(
string
shipperCode,
string
expNo)
{
string
requestData = https://www.it610.com/article/
"{'OrderCode':'','ShipperCode':'"
+shipperCode+
"','LogisticCode':'"
+expNo+
"'}"
;
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);
//根据公司业务处理返回的信息......
return
result;
}
///
/// XML方式 查询订单物流轨迹
///
///
public
string
getOrderTracesByXml()
{
string
requestData = https://www.it610.com/article/
""
+
"
+
"
+
"SF"
+
"
+
""
;
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);
//根据公司业务处理返回的信息......
return
result;
}
///
/// Post方式提交数据,返回网页的源代码
///
/// 发送请求的 URL
/// 请求的参数集合
///
private
string
sendPost(
string
url, Dictionary<
string
,
string
> param)
{
string
result =
""
;
StringBuilder postData = https://www.it610.com/article/
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 = https://www.it610.com/article/Encoding.GetEncoding(
"UTF-8"
).GetBytes(postData.ToString());
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType =
"application/x-www-form-urlencoded"
;
request.Referer = url;
request.Accept =
"*/*"
;
request.Timeout = 30 * 1000;
request.UserAgent =
"Mozilla/4.0 (compatible;
MSIE 6.0;
Windows NT 5.1;
SV1;
.NET CLR 2.0.50727;
.NET CLR 3.0.04506.648;
.NET CLR 3.0.4506.2152;
.NET CLR 3.5.30729)"
;
request.Method =
"POST"
;
request.ContentLength = byteData.Length;
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.Message;
}
return
result;
}
///
///电商Sign签名
///
///内容
///Appkey
///【快递鸟物流查询接口API调用代码示例】URL编码
///
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);
}
///
/// 字符串MD5加密
///
///要加密的字符串
///编码方式
///
private
string
MD5(
string
str,
string
charset)
{
byte
[] buffer = System.Text.Encoding.GetEncoding(charset).GetBytes(str);
try
{
System.Security.Cryptography.MD5CryptoServiceProvider check;
check =
new
System.Security.Cryptography.MD5CryptoServiceProvider();
byte
[] somme = check.ComputeHash(buffer);
string
ret =
""
;
foreach
(
byte
a
in
somme)
{
if
(a < 16)
ret +=
"0"
+ a.ToString(
"X"
);
else
ret += a.ToString(
"X"
);
}
return
ret.ToLower();
}
catch
{
throw
;
}
}
///
/// base64编码
///
/// 内容
/// 编码方式
///
private
string
base64(String str, String charset)
{
return
Convert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
}
} } |
aspx界面示例?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
namespace
Test {
public
partial
class
KdApiSearchYS : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
protected
void
Button_Click(
object
sender, EventArgs e)
{
KdApiSearchDemoYS search =
new
KdApiSearchDemoYS();
string
result = search.getOrderTracesByJson(
this
.txtShipperCode.Text.Trim(),
this
.txtLogisticCode.Text.Trim());
Response.Write(result);
}
} } |
推荐阅读
- 早知道你是只飞鸟,我就应该把你关起来
- 没有脚的鸟
- 杀死一只知更鸟
- 无尾鱼与独脚鸟
- 签约
- 《你当像鸟飞往你的山》救赎
- 7.26花鸟岛荧光海
- 我愿乘风破浪,踏遍鸟语花香
- 李玉凤花鸟小品!
- 2021-05-22|2021-05-22 - 草稿