zoukankan      html  css  js  c++  java
  • httpwebrequest向webapi post json数据

    服务端webapi:

     public string getValue5([FromBody]List<Student> student)
            {
                return student[0].Name + " " + student[1].Name;
            }

    客户端控制台:

    public static string HttpPost(string url)
            {
                Encoding encoding = Encoding.UTF8;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.Accept = "text/html, application/xhtml+xml, */*";
                //request.ContentType = "application/x-www-form-urlencoded ";//根据服务端进行 切换
                request.ContentType = "application / json";//根据服务端进行 切换
                JArray jArray = new JArray();            
                JObject basic1 = new JObject();
                basic1["Id"] = 1;
                basic1["Name"] = "alex";
                JObject basic2 = new JObject();
                basic2["Id"] = 2;
                basic2["Name"] = "zack";
                jArray.Add(basic1);
                jArray.Add(basic2);
                byte[] buffer = encoding.GetBytes(jArray.ToString());
                request.ContentLength = buffer.Length;
                request.GetRequestStream().Write(buffer, 0, buffer.Length);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
                {
                    return reader.ReadToEnd();
                }
    
            }

     如果ContentType为"application/x-www-form-urlencoded",

    IDictionary<string, string> para = new Dictionary<string, string>();
    para.Add("Id", "1");
    para.Add("Name", "Alex");

    foreach (string key in para.Keys)
    {
    if (i > 0)
    {
    buffer.AppendFormat("&{0}={1}", key, para[key]);
    }
    else
    {
    buffer.AppendFormat("{0}={1}", key, para[key]);
    }
    i++;
    }

  • 相关阅读:
    python openpyxl 封装Execl常用操作的方法
    python webdriver grid多节点运行webdriver程序
    url的正则表达式
    基于Erlang VM的函数式编程语言Elixir
    [整理]团队开发效率提升探索一
    FreeBSD应该装gnome3做桌面
    FreeBSD pkg仓库有台湾的镜像了
    再探OAuth2
    【转】Android世界的Swift
    内存只有4G的MBP要怎么破
  • 原文地址:https://www.cnblogs.com/dangnianxiaoqingxin/p/14671700.html
Copyright © 2011-2022 走看看