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

 

posted @ 2021-04-17 18:13  当年小清新  阅读(326)  评论(0编辑  收藏  举报