C# で HTTP POSTWeb リクエストを作成する
-
C# の
WebClient
クラスを使用して HTTP POSTWeb リクエストを作成する -
C# の
HttpWebRequest
クラスを使用して HTTP POSTWeb リクエストを作成する -
C# の
HttpClient
クラスを使用して HTTP POSTWeb リクエストを作成する
このチュートリアルでは、C# で HTTP POSTWeb リクエストを作成する方法について説明します。
C# の WebClient
クラスを使用して HTTP POSTWeb リクエストを作成する
WebClient
クラスは、C# で URL データを送受信するための多くのメソッドを提供します。C# の WebClient
クラスの WebClient.UploadValues(url, values)
関数を使用して HTTP POST リクエストを行うことができます。次のコード例は、C# の WebClient
クラスを使用して単純な HTTP POSTWeb リクエストを作成する方法を示しています。
using System.Net;
using System.Collections.Specialized;
var wb = new WebClient() var data = new NameValueCollection();
string url = "www.example.com" data["username"] = "myUser";
data["password"] = "myPassword";
var response = wb.UploadValues(url, "POST", data);
上記のコードでは、url
にデータを送信するための Web クライアント wb
を作成します。url
に送信する data
変数を初期化します。wb.UploadValues(url, "POST", data)
関数のパラメーター内で POST
を指定することにより、url
に対して HTTP POSTWeb リクエストを作成します。url
からの応答は、reponse
変数内に保存されます。
C# の HttpWebRequest
クラスを使用して HTTP POSTWeb リクエストを作成する
HttpWebRequest
クラスは、C# で HTTP プロトコルを使用してサーバーと直接対話するメソッドを提供します。HttpWebRequest.Method = "POST"
プロパティを使用して HTTP Web リクエストが C# の POST リクエストであることを指定します。次のコード例は、C# の HttpWebRequest
クラスを使用して単純な HTTP POSTWeb リクエストを作成する方法を示しています。
using System.Net;
using System.Text;
using System.IO;
string url = "http://www.example.com" var request = (HttpWebRequest)WebRequest.Create(url);
var postData = "username=" + Uri.EscapeDataString("myUser");
postData += "&password=" + Uri.EscapeDataString("myPassword");
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream()) {
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
上記のコードでは、HTTPWeb リクエスト request
を url
に作成しました。request
が request.Method = "POST"
プロパティを持つ POST リクエストであることを指定しました。url
に送信するデータ postData
を Uri.EscapeDataString()
関数で初期化し、データをバイト変数 data
にエンコードしました。request.ContentLength = data.Length
プロパティを使用して、url
に送信するデータの長さを指定します。最後に、stream
を作成し、stream.Write()
関数を使用してデータを書き込みました。url
からのレスポンスを request.GetResponse()
関数で取得し、HTTPWebResponse
クラスのオブジェクト response
に格納しました。
C# の HttpClient
クラスを使用して HTTP POSTWeb リクエストを作成する
HttpClient
クラスは、HTTP 要求を送信および HTTP 応答を受信するためのメソッドを提供します C# で。HttpClient.PostAsync(url, data)
関数ここで、url
は URL であり、data
は url
に送信するデータです。次のコード例は、C# の HttpClient
クラスを使用して単純な HTTPPOST リクエストを作成する方法を示しています。
using System.Net.Http;
readonly HttpClient client = new HttpClient();
var values =
new Dictionary<string, string> { { "username", "myUser" }, { "password", "myPassword" } };
string url = "http://www.example.com" var data = new FormUrlEncodedContent(values);
var response = await client.PostAsync(url, data);
上記のコードでは、読み取り専用の HTTP クライアント client
を作成し、url
を初期化しました。url
に送信したいデータを辞書 values
に保存しました。そして、C# の FormUrlEncodedContent()
関数を使って、values
を application/x-www-form-urlencoded
タイプに変換しました。最後に、client.PostAsync(url, data)
関数を使用して HTTP POST Web リクエストを作成し、url
からの応答を response
変数内に保存しました。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn