[英]How to POST Raw Data using C# HttpWebRequest
我正在尝试发出一个POST请求,我应该发送Raw POST数据。
我应该修改哪个属性来实现此目的。
它是HttpWebRequest.ContentType属性。 如果,那么我应该赋予它什么价值。
public static string HttpPOST(string url, string querystring)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/x-www-form-urlencoded"; // or whatever - application/json, etc, etc
StreamWriter requestWriter = new StreamWriter(request.GetRequestStream());
try
{
requestWriter.Write(querystring);
}
catch
{
throw;
}
finally
{
requestWriter.Close();
requestWriter = null;
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
return sr.ReadToEnd();
}
}
您希望将ContentType属性设置为数据的mime类型。 如果它是一个文件,它取决于文件的类型,如果它是纯文本然后是text / plain,如果它是你自己的本地目的的任意二进制数据那么application / octet-stream。 对于基于文本的格式,您需要将charset与内容类型一起包括在内,例如“text / plain; charset = UTF-8”。
然后,您需要调用GetRequestStream()并将数据写入返回的流。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.