以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  快递鸟物流追踪  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104336)

--  作者:zoudezhao
--  发布时间:2017/7/27 15:26:00
--  快递鸟物流追踪

之前用快递100接口,但是快递100老是封IP没办法去上快递鸟的接口。看了下快递鸟的一个JSON的案例,但是发现里面还有一个MD5的加密。这个MD5加密应该怎么做啊。。。

JSON 范例

 string userID = "1109259";

 string keyValue = "56da2cf8-c8a2-44b2-b6fa-476cd7d1ba17";//加密私钥,由发货通提供

 string url = "http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";  //请求地址

 string DataType = "2"; 2-json

 string charset="UTF-8";//字符编码采用UTF-8

string js; // JSON字符串string

datasign = HttpUtility.UrlEncode(base64( MD5(jsonStr+keyValue, "UTF-8"),"UTF-8"),Encoding.UTF8);//把(jsonStr+AppKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码

string PostStr = "RequestType=1002&EBusinessID= userID &RequestData=jsonStr &DataSign= datasign&DataType=DataType"; //请求报文参数

string post = this.DoPost(url, PostStr);// 通讯协议使用Http协议Post请求方式


--  作者:有点甜
--  发布时间:2017/7/27 15:52:00
--  

参考

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=93954&skin=0

 


--  作者:zoudezhao
--  发布时间:2017/7/27 16:30:00
--  
感谢甜老师
--  作者:zoudezhao
--  发布时间:2017/7/28 14:54:00
--  
甜老师TextBox1里有一项值为 state: 3   有没有方法可以从中取出这个值并识别,下面是TextBox1的内容

{

    "EBusinessID": "1109259",

    "OrderCode": "",

    "ShipperCode": "SF",

    "LogisticCode": "118461988807",

    "Success": true,

    "CallBack":"",

    "State": 3,

    "Reason": null,

    "Traces": [


--  作者:有点甜
--  发布时间:2017/7/28 18:05:00
--  

参考

 

http://www.foxtable.com/mobilehelp/scr/0140.htm

 

 


--  作者:zoudezhao
--  发布时间:2017/7/30 16:39:00
--  

Dim Asv As new KdApiSearchDemo
Dim jtb As String = Asv.getOrderTracesByJson
ClipBoard.SetText(jtb)
Dim jo As JObject = Jobject.Parse(ClipBoard.GetText)
Dim kdzt As String = (jo("State") )
Dim kdlx As String = (jo("ShipperCode") )
Dim ydh As String = (jo("LogisticCode") )
Dim sfcg As String = (jo("Success") )
Dim sbyy As String = (jo("Reason") )
If kdzt = "0" Then
kdzt = "无轨迹"
Else If kdzt = "2" Then
kdzt = "在途中"
Else If kdzt = "3" Then
kdzt = "签收"
Else If kdzt = "4" Then
kdzt = "问题件"
End If
If kdlx = "YTO" Then
kdlx = "圆通快递"
Else If kdlx = "ZTO" Then
kdlx = "中通快递"
Else If kdlx = "SF" Then
kdlx = "顺丰快递"
Else If kdlx = "EMS" Then
kdlx =  "邮局"
End If
If sfcg = "True" Then
sfcg = "成功"
Else If sfcg = "False" Then
sfcg = " 失败"
End If
If jo IsNot Nothing Then
 
For Each jt As JToken In jo("Traces")
Output.Show( jt("AcceptTime").ToString & " | " & jt("AcceptStation").ToString )  
Next
e.Form.Controls("Textbox1").text = "物流状态:" & kdzt & " | 快递类型: " & kdlx & " | 运单号: " & ydh & " | 查询是否成功: " & sfcg & " | 失败原因: " & sbyy
End If

 

 

For Each jt As JToken In jo("Traces")
Output.Show( jt("AcceptTime").ToString & " | " & jt("AcceptStation").ToString )  
Next

 

甜老师,这段代码是显示快递实时信息的我应该怎么加入到Textbox1中。尝试了好几种方法都不可行。。。


--  作者:有点甜
--  发布时间:2017/7/30 17:31:00
--  

1、获取的信息正确了吗?msgbox弹出什么?

 

msgbox("物流状态:" & kdzt & " | 快递类型: " & kdlx & " | 运单号: " & ydh & " | 查询是否成功: " & sfcg & " | 失败原因: " & sbyy)

 

2、这样写

 

e.Form.Controls("Textbox1").text = vbcrlf & "物流状态:" & kdzt & " | 快递类型: " & kdlx & " | 运单号: " & ydh & " | 查询是否成功: " & sfcg & " | 失败原因: " & sbyy


--  作者:zoudezhao
--  发布时间:2017/7/30 17:40:00
--  

甜老师这段代码倒没有问题,不过就是下面这段显示物流信息的我应该怎么加进去显示在vbcrlf & "物流状态:" & kdzt & " | 快递类型: " & kdlx & " | 运单号: " & ydh & " | 查询是否成功: " & sfcg & " | 失败原因: " & sbyy  下面

For Each jt As JToken In jo("Traces")
Output.Show( jt("AcceptTime").ToString & " | " & jt("AcceptStation").ToString )  
Next


--  作者:zoudezhao
--  发布时间:2017/7/30 17:43:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170730174126.png
图片点击可在新窗口打开查看
就是将物流信息完整的加到这下面
--  作者:有点甜
--  发布时间:2017/7/30 17:44:00
--  

 

For Each jt As JToken In jo("Traces")

    e.Form.Controls("Textbox1").text = vbcrlf & jt("AcceptTime").ToString & " | " & jt("AcceptStation").ToString
Next