我正在嘗試發送一個POST請求,我應該發送原始POST數據。如何使用C#發佈原始數據HttpWebRequest
我應該修改哪些屬性來實現此目的。
它是HttpWebRequest.ContentType屬性。如果,那麼我應該給它分配什麼樣的價值。
我正在嘗試發送一個POST請求,我應該發送原始POST數據。如何使用C#發佈原始數據HttpWebRequest
我應該修改哪些屬性來實現此目的。
它是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();
}
}
請你詳細說明一下在你寫下「無論」的部分,實際上,這是我需要澄清的部分,在原始發佈的情況下應該是什麼 – 2010-09-17 19:52:14
Gunner,問題是,你**意味着什麼? 「? – 2010-09-17 22:34:28
我認爲這裏的'raw'這個詞是我被告知的內部術語。基本上,我需要做的就是發佈請求。」req.ContentType =「application/x-www-form-urlencoded」;「 ,這對我很有用 – 2010-09-20 14:51:30
您想要將ContentType屬性設置爲數據的MIME類型。如果它是一個文件,它取決於文件的類型,如果它是純文本,那麼文本/純文本,如果它是一個任意的二進制數據,你自己的本地目的然後application/octet-stream。對於基於文本的格式,您需要將charset與內容類型一起包含在內。 「text/plain; charset = UTF-8」。
然後您需要調用GetRequestStream()並將數據寫入返回的流中。
的可能DUP:http://stackoverflow.com/questions/2136857/using-httpwebrequest-to-post-to-a-form-on-an-outside-server – 2010-09-17 14:04:42
@Kirk沃爾,隱而不宣」似乎是重複的。這個問題想要發佈多部分/表單數據,而這似乎是發送一個單一的數據流。 – 2010-09-17 14:17:43
@Jon,你爲什麼這麼說?我鏈接的問題不包含字符串「多」,看起來非常相似。 – 2010-09-17 14:23:09