栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

C#请求联运通接口,获取订单数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#请求联运通接口,获取订单数据

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

接上一篇 C#请求联运通下单

1.创建类
  public class Result
    {
        public string result { get; set; }//请求返回状态
        public RootClass root { get; set; }
    }
 
    public class RootClass
    {
        public List track { get; set; }
    }
    public class TrackClass
    {
        public string orderno { get; set; }//单号,我们提交的
        public string billcode { get; set; }//联运通运单
        public List detail { get; set; }
    }
    public class Detail
    {
        public string memo { get; set; }//节点备注
        public string time { get; set; }//节点时间
        public string scantype { get; set; }//节点状态
    }
2.详细代码

代码如下(示例):
 

    private bool SaveResultData()
        {
            string custNo = "XXXX";
            string orderNo = "A210600870";
            string Timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            string appKey = "XXXX";
            string command = "接口编码";
            string LYTUrl = "接口地址";

            //集合外的数据
            LYTDataCon DatC = new LYTDataCon();
            DatC.custno = custNo;
            //处理集合内数据
            List listSonText = new List();
            items itemcon = new items();
            itemcon.orderno = orderNo;
            //集合转JSON
            listSonText.Add(itemcon);
            //集合数据加到JSON
            DatC.items = listSonText;
            string jsonParams = JsonConvert.SerializeObject(DatC);

            //将JSON加密
            MD5 md5 = new MD5CryptoServiceProvider();
            string digest = Convert.ToBase64String(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(jsonParams + appKey + appKey)));

            //生成请求参数,请求的参数要转码格式化。不转码 + %等字符会过滤掉,导致验证签名失败。
            string postData =
                "Timestamp=" + System.Web.HttpUtility.UrlEncode(Timestamp, Encoding.UTF8) +
                "&command=" + System.Web.HttpUtility.UrlEncode(command, Encoding.UTF8) +
                "&appKey=" + System.Web.HttpUtility.UrlEncode(appKey, Encoding.UTF8) +
                "&Params=" + System.Web.HttpUtility.UrlEncode(jsonParams, Encoding.UTF8) + appKey +
                "&digest=" + System.Web.HttpUtility.UrlEncode(digest, Encoding.UTF8);
            string msg = "";
            //请求
            if (BaseForm.PostData(clsFunc.pDC.GetDtUser(), GloabParam.Rows[0]["ServerAddr"].ToString(), "LYTXD", LYTUrl, postData, "application/x-www-form-urlencoded;", null, out msg))
            {
                //反序列化JSON
                var model = Newtonsoft.Json.JsonConvert.DeserializeObject(msg);
                //获得请求状态是否为成功success
                if (model.result == "success")
                {
                    //循环第一个root.track里面的采购单号和联运通运单号
                    foreach (var obj in model.root.track)
                    {
                        string a = obj.billcode;
                        string b = obj.orderno;
                        //循环detail里面的物流节点
                        foreach (var detail in obj.detail)
                        {
                            string aa = detail.memo;
                            string bb = detail.time;
                            string cc = detail.scantype;
                        }
                    }
                }
            }
            return true;
        }

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/966417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号