• 特殊的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; }
        }

  • 相关阅读:
    C#方法笔记二:四种类型的参数
    C#+AE 判断点是否在面内的方法
    C#:ref和out的联系及区别。
    C#+AE 调整TOCControl控件中图层的显示顺序
    C# 笔记2:面向对象
    AE10.0 Runtime绑定,如何实现
    C#+AE 用MapControl加载栅格格式文件
    Oracle 10g安装之后解锁Scott的方法
    (转载一篇)Windows7与ArcGIS Desktop9.3冲突问题解决(由QQ安装问题引出)(经本人验证已解决)
    C#方法笔记一:C#4.0新特性:命名参数和可选参数
  • 原文地址:https://www.cnblogs.com/sk2016/p/6086122.html
Copyright © 2020-2023  润新知