• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            圓通快遞查詢單號(hào)查詢物流信息(圓通快遞查詢單號(hào)查詢物流信息網(wǎng))

            更新時(shí)間:2023-03-02 11:14:41 閱讀: 評(píng)論:0

            今天我們來(lái)聊如何利用快遞鳥提供的接口來(lái)查詢圓通快遞的物流軌跡。

            講解之前我們來(lái)看一下,接口完成以后的實(shí)際顯示效果

            以下是我調(diào)用快遞鳥接口獲得的中通物流軌跡信息,顯示的界面效果需要自己開發(fā):

            現(xiàn)在我們來(lái)聊一聊具體實(shí)現(xiàn)!

            首先我們準(zhǔn)備好需要用到的資源,

            測(cè)試商戶ID:

            test1617571

            測(cè)試API key:

            554343b2-7252-439b-b4eb-1af42c8f2175(此Key僅限測(cè)試環(huán)境使用)

            API測(cè)試地址:

            http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json

            我以C#開發(fā)為例來(lái)講解,

            如果還沒有注冊(cè)快遞鳥,或者還不知道如何獲取API Key,可以訪問這個(gè)騰訊視頻教程:

            https://v.qq.com/x/page/z3068yfw0fl.html(注冊(cè)登陸獲取快遞鳥API Key)

            接下來(lái),我們講解一下請(qǐng)求參數(shù)

            請(qǐng)求系統(tǒng)級(jí)參數(shù)說(shuō)明:

            備注:R-必填(Required),O-可選(Optional),C-報(bào)文中該參數(shù)在一定條件下可選(Conditional)

            這里提到了系統(tǒng)級(jí)參數(shù),也相當(dāng)于是公用參數(shù),這些參數(shù)是調(diào)用每個(gè)接口都是必須要傳參的。

            接口參數(shù):

            接口參數(shù),也叫業(yè)務(wù)參數(shù),請(qǐng)求的業(yè)務(wù)接口不同,參數(shù)的字段,內(nèi)容也不同,是跟著業(yè)務(wù)變化的,這里我們實(shí)現(xiàn)的是即時(shí)查詢接口,請(qǐng)求指令類型:1002,快遞鳥官網(wǎng)要求必須傳遞快遞公司編碼和物流單號(hào) ,圓通快遞的編碼是YTO

            如要查看其他快遞公司的編碼,點(diǎn)擊此鏈接:

            http://www.kdniao.com/documents

            正如我前面的軌跡截圖,圓通快遞的編碼是YTO,物流單號(hào)是78120038107849

            業(yè)務(wù)參數(shù)報(bào)文組合如下:

            {'OrderCode':'','ShipperCode':'YTO','LogisticCode':'YT4313813113511'}

            請(qǐng)求的完整報(bào)文(URL編碼以后):

            RequestData=%0d%0a++++++++++++%7b%27OrderCode%27%3a%27%27%2c%27ShipperCode%27%3a%27YTO%27%2c%27LogisticCode%27%3a%27YT4313813113511%27%7d%0d%0a++++++++&EBusinessID=1617571&RequestType=1002&DataSign=YjUxYzNlYTBiMjYwYjIzZjE4ZGQ4ZjgyYjJhNGRiZjQ%3d&DataType=2

            未編碼的請(qǐng)求報(bào)文:

            RequestData={'OrderCode':'','ShipperCode':'YTO','LogisticCode':'YT4313813113511'}

            &EBusinessID=1617571&RequestType=1002&DataSign=YjUxYzNlYTBiMjYwYjIzZjE4ZGQ4ZjgyYjJhNGRiZjQ=&DataType=2

            返回的報(bào)文信息:

            {

            "LogisticCode": "YT4313813113511",

            "ShipperCode": "YTO",

            "Traces": [{

            "AcceptStation": "【山東省青島市膠州市公司】 已收件 取件人: 張富強(qiáng) (18521137295)",

            "AcceptTime": "2019-12-29 18:15:41"

            }, {

            "AcceptStation": "【山東省青島市膠州市公司】 已打包",

            "AcceptTime": "2019-12-29 18:41:22"

            }, {

            "AcceptStation": "【山東省青島市膠州市】 已發(fā)出 下一站 【青島轉(zhuǎn)運(yùn)中心公司】",

            "AcceptTime": "2019-12-29 18:44:43"

            }, {

            "AcceptStation": "【青島轉(zhuǎn)運(yùn)中心公司】 已收入",

            "AcceptTime": "2019-12-29 19:40:51"

            }, {

            "AcceptStation": "【青島轉(zhuǎn)運(yùn)中心】 已發(fā)出 下一站 【深圳轉(zhuǎn)運(yùn)中心公司】",

            "AcceptTime": "2019-12-29 20:10:01"

            }, {

            "AcceptStation": "【深圳轉(zhuǎn)運(yùn)中心公司】 已收入",

            "AcceptTime": "2019-12-31 13:39:41"

            }, {

            "AcceptStation": "【深圳轉(zhuǎn)運(yùn)中心】 已發(fā)出 下一站 【廣東省深圳市寶安區(qū)機(jī)場(chǎng)公司】",

            "AcceptTime": "2019-12-31 14:04:58"

            }, {

            "AcceptStation": "【廣東省深圳市寶安區(qū)機(jī)場(chǎng)公司】 已收入",

            "AcceptTime": "2020-01-01 01:43:02"

            }, {

            "AcceptStation": "【廣東省深圳市寶安區(qū)機(jī)場(chǎng)公司】 派件中 派件人: 羅家寧 電話 13924819329 如有疑問,請(qǐng)聯(lián)系:0755-27393821",

            "AcceptTime": "2020-01-01 09:36:26"

            }, {

            "AcceptStation": "客戶簽收人: B5超人 已簽收 感謝使用圓通速遞,期待再次為您服務(wù) 如有疑問請(qǐng)聯(lián)系:13924819329,投訴電話:0755-27393821",

            "AcceptTime": "2020-01-02 12:52:32"

            }],

            "State": "3",

            "EBusinessID": "1617571",

            "Success": true

            } {

            "OrderCode": "012657018199",

            "ShipperCode": "STO",

            "PayType": 1,

            "MonthCode": "1234567890",

            "ExpType": 1,

            "Sender": {

            "Company": "LV",

            "Name": "Taylor",

            "Mobile": "15018442396",

            "ProvinceName": "上海",

            "CityName": "上海市",

            "ExpAreaName": "青浦區(qū)",

            "Address": "明珠路"

            },

            "Receiver": {

            "Company": "GCCUI",

            "Name": "Yann",

            "Mobile": "15018442396",

            "ProvinceName": "北京",

            "CityName": "北京市",

            "ExpAreaName": "朝陽(yáng)區(qū)",

            "Address": "三里屯街道"

            },

            "Commodity": [{

            "GoodsName": "鞋子",

            "Goodsquantity": 1,

            "GoodsWeight": 1

            }],

            "Weight": 1,

            "Quantity": 1,

            "Volume": 0,

            "Remark": "小心輕放"

            }

            C#關(guān)鍵代碼:

            /// <summary>

            /// 即時(shí)查詢物流軌跡

            /// </summary>

            /// <param name="url">http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json</param>

            /// <param name="eBusinessID">test1617571</param>

            /// <param name="appKey">554343b2-7252-439b-b4eb-1af42c8f2175</param>

            /// <param name="requestData">{'OrderCode':'','ShipperCode':'ZTO','LogisticCode':'78120038107849'}</param>

            /// <returns></returns>

            public string getOrderTracesByJson(string url,string eBusinessID, string appKey, string requestData)

            {

            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 = ndPost(url, param);

            return result;

            }

            /// <summary>

            /// Post方式提交數(shù)據(jù),返回網(wǎng)頁(yè)的源代碼

            /// </summary>

            /// <param name="url">發(fā)送請(qǐng)求的 URL</param>

            /// <param name="param">請(qǐng)求的參數(shù)集合</param>

            /// <returns>遠(yuǎn)程資源的響應(yīng)結(jié)果</returns>

            private string ndPost(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);

            }

            }

            // return postData.ToString();

            byte[] byteData = 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.UrAgent = "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.Clo();

            HttpWebRespon respon = (HttpWebRespon)request.GetRespon();

            Stream backStream = respon.GetResponStream();

            StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding("UTF-8"));

            result = sr.ReadToEnd();

            sr.Clo();

            backStream.Clo();

            respon.Clo();

            request.Abort();

            }

            catch (Exception ex)

            {

            result = ex.Message;

            }

            return result;

            }

            ///<summary>

            ///電商Sign簽名

            ///</summary>

            ///<param name="content">內(nèi)容</param>

            ///<param name="keyValue">Appkey</param>

            ///<param name="chart">URL編碼 </param>

            ///<returns>DataSign簽名</returns>

            private string encrypt(String content, String keyValue, String chart)

            {

            if (keyValue != null)

            {

            return ba64(MD5(content + keyValue, chart), chart);

            }

            return ba64(MD5(content, chart), chart);

            }

            ///<summary>

            /// 字符串MD5加密

            ///</summary>

            ///<param name="str">要加密的字符串</param>

            ///<param name="chart">編碼方式</param>

            ///<returns>密文</returns>

            private string MD5(string str, string chart)

            {

            byte[] buffer = System.Text.Encoding.GetEncoding(chart).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");

            el

            ret += a.ToString("X");

            }

            return ret.ToLower();

            }

            catch

            {

            throw;

            }

            }

            /// <summary>

            /// ba64編碼

            /// </summary>

            /// <param name="str">內(nèi)容</param>

            /// <param name="chart">編碼方式</param>

            /// <returns></returns>

            private string ba64(String str, String chart)

            {

            return Convert.ToBa64String(System.Text.Encoding.GetEncoding(chart).GetBytes(str));

            }

            附上詳細(xì)的接口文檔給大家:

            http://www.kdniao.com/documents

            本文發(fā)布于:2023-02-28 21:07:00,感謝您對(duì)本站的認(rèn)可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1677726881103762.html

            版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:圓通快遞查詢單號(hào)查詢物流信息(圓通快遞查詢單號(hào)查詢物流信息網(wǎng)).doc

            本文 PDF 下載地址:圓通快遞查詢單號(hào)查詢物流信息(圓通快遞查詢單號(hào)查詢物流信息網(wǎng)).pdf

            標(biāo)簽:圓通   單號(hào)   快遞   物流   信息網(wǎng)
            相關(guān)文章
            留言與評(píng)論(共有 0 條評(píng)論)
               
            驗(yàn)證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類寶庫(kù)! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 高清视频一区二区三区| 大JI巴好深好爽又大又粗视频| 天天躁日日躁狠狠躁中文字幕 | 国产精品XXXX国产喷水| 日本大香伊一区二区三区| 亚洲国内精品一区二区| 国产爆乳美女娇喘呻吟| 国产精品免费第一区二区| 色欲av无码一区二区人妻| 色综合久久人妻精品日韩| 岛国大片在线免费播放| 国产在线啪| 国产萌白酱喷水视频在线观看| 少妇人妻在线视频| 亚洲综合成人av在线| 天天综合网网欲色| 国产麻豆精品一区一区三区| 特级做a爰片毛片免费看无码| 久久久久国产精品熟女影院| 亚洲熟女综合色一区二区三区| 国产成人资源| 久久精品国产福利一区二区| 99热这里只有精品5| 亚洲色成人一区二区三区| 夜鲁夜鲁很鲁在线视频 视频| 亚洲爆乳WWW无码专区| 无码人妻丰满熟妇区五十路在线| 国产精品乱人伦一区二区| 青青草视频免费观看| 成av人电影在线观看| 亚洲欧美综合中文| 亚洲成a人片在线观看久| 国产97在线 | 亚洲| 欧美人禽zozo动人物杂交| 九九热在线免费观看视频| 国产精品中文av专线| 伊人无码精品久久一区二区| 99精品人妻少妇一区| 9lporm自拍视频区| 一本色道久久综合熟妇人妻| 成人网站免费观看永久视频下载|