HTTP POSTリクエストをC#で送信することについて多くの質問があることは知っていますが、WebClient
ではなくHttpWebRequest
を使用するメソッドを探しています。これは可能ですか?WebClient
クラスはとても使いやすいので、それは素晴らしいことです。
Headers
プロパティを設定して特定のヘッダーを設定できることは知っていますが、実際にPOST from WebClient
を実行できるかどうかはわかりません。
WebClient.UploadData()
を使用できます。これはHTTP POSTを使用します。
_using (WebClient wc = new WebClient())
{
byte[] result = wc.UploadData("http://stackoverflow.com", new byte[] { });
}
_
指定したペイロードデータは、リクエストのPOST本文として送信されます。
または、HTTP POSTを介して名前と値のコレクションをアップロードする WebClient.UploadValues()
があります。
HTTP 1.0POSTでUploadメソッドを使用できます
string postData = Console.ReadLine();
using (System.Net.WebClient wc = new System.Net.WebClient())
{
wc.Headers.Add("Content-Type","application/x-www-form-urlencoded");
// Upload the input string using the HTTP 1.0 POST method.
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(postData);
byte[] byteResult= wc.UploadData("http://targetwebiste","POST",byteArray);
// Decode and display the result.
Console.WriteLine("\nResult received was {0}",
Encoding.ASCII.GetString(byteResult));
}