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; }
        }

  • 相关阅读:
    UUID工具类
    jax-rs 标准以及 结合 resteasy的使用
    Mina.Net实现的断线重连
    Mina.Net实现的UDP协议消息收发Demo
    MySql 比Replace Into更适合的用法,外加SqlServer的方式。
    MySql【Insert Select Not Exist】判断记录再添加值的方案
    MySql中存储过程中的@变量总是无法执行,提示Parameter '@XXX' must be defined
    Go语言使用Beego的ORM插入Mysql后,时区不一致的解决方案
    Go语言中Path包用法
    C#(WPF和WinForm)在普通类中调用到主线程的方法,SynchronizationContext的用法。
  • 原文地址:https://www.cnblogs.com/sk2016/p/6086122.html
Copyright © 2011-2022 走看看