zoukankan      html  css  js  c++  java
  • 特殊的Josn格式

     static void Main(string[] args)
            {
                YtRequest<RequestHead, RequestBody> Ytrequest = new YtRequest<RequestHead, RequestBody>
                {
                    head = new RequestHead
                    {
                        version="1.0",
                        product="B10002",
                        merchant="201511043830",
                        outOrderId = "110000000000005",
                        memo="备注信息",
                    },
                    body = new RequestBody
                    {
                        name_card="",
                        id_card="",
                    },
                };

                JavaScriptSerializer serializer = new JavaScriptSerializer();
                var prestr = serializer.Serialize(Ytrequest);
                string mysign = Sign(prestr, "N75tkwmnHV1UjZ60YAGK", "utf-8");

                YtSendModel<RequestHead, RequestBody> Ytsend = new YtSendModel<RequestHead, RequestBody>
                {
                    request = new YtRequest<RequestHead, RequestBody>
                    {
                        head = new RequestHead
                        {
                            version = "1.0",
                            product = "B10002",
                            merchant = "201511043830",
                            outOrderId = "123456",
                            memo = "连连实名认证",
                        },
                        body = new RequestBody
                        {
                            name_card = "min",
                            id_card = "141002465",
                        },
                    },
                    sign="12321435636",
                };

                string strRequestData = serializer.Serialize(Ytsend);

                Encoding enconding = Encoding.GetEncoding("utf-8");

                byte[] bytedata = enconding.GetBytes(strRequestData);


                HttpWebRequest re = (HttpWebRequest)HttpWebRequest.Create("https://api.udcredit.com/api/credit/v1/get_nauth");
                re.Method = "post";
                re.ContentType = "application/json";

                re.ContentLength = bytedata.Length;
                Stream requestStream = re.GetRequestStream();
                requestStream.Write(bytedata, 0, bytedata.Length);
                requestStream.Close();

                HttpWebResponse httpResponse = (HttpWebResponse)re.GetResponse();
                Stream myStream = httpResponse.GetResponseStream();

                StreamReader reader = new StreamReader(myStream, enconding);
                StringBuilder responseData = new StringBuilder();

                String line;
                while ((line = reader.ReadLine()) != null)
                {
                    responseData.Append(line);
                }

                //释放
                myStream.Close();

                string strResult = responseData.ToString();

          
            }

            static  string Sign(string str,string key,string charset)
            {
                str=str+key;
                var sb=new StringBuilder(32);
                MD5 md5=new MD5CryptoServiceProvider();
                var arr=md5.ComputeHash(Encoding.GetEncoding(charset).GetBytes(str));
                foreach (var item in arr)
                {
                    sb.Append(item.ToString("x").PadLeft(2, '0'));
                }
                return sb.ToString();
            }

    建一个YtSendModel.cs 

    public class YtSendModel<Head ,Body>
        {
           public YtRequest<Head, Body> request { get; set; }
           public string sign { get; set; }
        }
       public class YtRequest<Head, Body>
       {
           public Head head { get; set; }
           public Body body { get; set; }
       }
        public class RequestHead
        {
            public string version { get; set; }
            public string product { get; set; }
            public string merchant { get; set; }
            public string outOrderId { get; set; }
            public string memo { get; set; }
        }
        public class RequestBody
        {
            public string name_card { get; set; }
            public string id_card { get; set; }
        }

  • 相关阅读:
    PCI-DSS-术语小结
    Visio快捷键-小结(Microsoft Visio绘图工具)
    vs2019快捷键-小结(C#开发工具Visio studio 2019)
    消息及时推送技术websocket
    requests爬虫get请求三部曲(快速编码)-小结
    cnblogs_client博客园客户端——雏形
    重庆购房资料
    比较2个时刻日期字串的时间差:距离现在的时间距离(不同时间格式)
    比较2个时刻日期字串的时间差
    时间戳转为日期字串
  • 原文地址:https://www.cnblogs.com/sk2016/p/6086122.html
Copyright © 2011-2022 走看看