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