在AngularJs我可以很容易地發佈數據到一個URL由
這裏$http.post(url, data)
數據是一個數組是這樣的:
["test1","test2","test3"]
我的問題是我怎麼能在C#中做同樣的事情?我想用HttpWebRequest。
在AngularJs我可以很容易地發佈數據到一個URL由
這裏$http.post(url, data)
數據是一個數組是這樣的:
["test1","test2","test3"]
我的問題是我怎麼能在C#中做同樣的事情?我想用HttpWebRequest。
使用ToList
您的陣列和FormUrlEncodedContent
爲您的文章的要求,請參閱下面
using System.Net.Http;
data.ToList(); //your data, assuming it is already a well-formed array or data model
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync("http://www.example.com/recepticle.aspx", content);
var responseString = await response.Content.ReadAsStringAsync();
怎麼樣使用HttpWebRequest而不是HttpClient?我怎樣才能做到這一點與HttpWebRequest? –
其實我發現自己的答案。這裏
有效載荷可以是一個數組:
VAR請求=(HttpWebRequest的)WebRequest.Create(URL);
request.ContentType = "application/json";
request.Method = action;
JsonSerializerSettings serializerSettings = new JsonSerializerSettings
{
ContractResolver = new UnderscoreMappingResolver(),
Formatting = Formatting.None,
NullValueHandling = NullValueHandling.Ignore,
Converters =
{
new IsoDateTimeConverter
{
DateTimeStyles = DateTimeStyles.RoundtripKind
},
new StringEnumConverter
{
CamelCaseText = true
}
}
};
var json = JsonConvert.SerializeObject(payload, serializerSettings);
request.ContentLength = json.Length;
Console.Out.Write(request.RequestUri);
using (var stream = request.GetRequestStream())
{
using (var sw = new StreamWriter(stream))
{
sw.Write(json);
}
}
HttpWebResponse response;
try
{
response = request.GetResponse() as HttpWebResponse;
}
catch (WebException ex)
{
response = ex.Response as HttpWebResponse;
}
這是HttpWebRequest的方法,良好的演練:http://stackoverflow.com/questions/4015324/http-request-with-post –
感謝您的答覆,確定這裏的問題是我怎麼能轉換ARRY [「test1」,「test2」,「test3」]發佈數據? –