using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string HtmlResult = wc.UploadString(url, "sign=fsadfasdf&charset=utf-8");
}
服务器可以获得sign和charset的值。
但是还有第三个参数LIST,它是一个对象列表(该对象是一个实体类)。 如何将此参数传递给服务器?
我尝试使用"sign=fsadfasdf&charset=hhh&list=" + Json(list)
作为postData(将List转换为json字符串)。但是服务器没有得到这个列表参数的价值。
答案 0 :(得分:1)
我讨厌发布带有链接的1行答案,但这在此之前已经解决了......
POSTing JsonObject With HttpClient From Web API
HttpClient类旨在解决这个问题,我相信它在nuget包“Microsoft.AspNet.WebApi.Client”中找到,这应该将命名空间“System.Net.Http”添加到你的项目中。
它还面向完全异步,对你的服务器应该更好!
编辑: 要发布一个数组/集合,你会做这样的事情......
var myObject = (dynamic)new JsonObject();
myObject.List = new List<T>();
// add items to your list
httpClient.Post(
"",
new StringContent(
myObject.ToString(),
Encoding.UTF8,
"application/json"));