ホームページ >バックエンド開発 >C++ >さまざまな方法を使用して.NETでHTTP POSTリクエストを送信するにはどうすればよいですか?

さまざまな方法を使用して.NETでHTTP POSTリクエストを送信するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-02-02 16:36:12879ブラウズ

How to Send HTTP POST Requests in .NET Using Different Methods?

.NET HTTP POSTリクエストを送信します

はじめに

.NETでは、HTTP Postは、開発者にサーバーにデータを送信するよう要求しました。このデータは、JSON、XML、またはフォームURLエンコードデータなど、さまざまな形式を使用できます。この記事では、.NETでHTTP POSTリクエストを発行する方法を包括的に概要して、さまざまな方法を調査し、コードの例を提供します。

方法1:httpclient(推奨)**

を使用します

HTTPCLIENTは、.NETでのHTTP要求の推奨方法であり、高性能です。ほとんどの最新の.NETバージョンで利用でき、非同期操作が提供されます。

設定:

リクエストの投稿:

<code>private static readonly HttpClient client = new HttpClient();</code>

get request:

<code>var values = new Dictionary<string, string>()
{
    { "thing1", "hello" },
    { "thing2", "world" }
};

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync("http://www.example.com/recepticle.aspx", content);

var responseString = await response.Content.ReadAsStringAsync();</code>

メソッド2:サードパーティライブラリ restsharp:

<code>var responseString = await client.GetStringAsync("http://www.example.com/recepticle.aspx");</code>

flurl.http:

メソッド3:HTTPWEBREQUEST(推奨されない)**
<code>var request = new RestRequest("resource/{id}");
request.AddParameter("thing1", "Hello");
request.AddParameter("thing2", "world");
var response = client.Post(request);
var content = response.Content; // 原始内容作为字符串</code>

httpwebrequestは古い方法であり、パフォーマンスはhttpclientほど良くありません。互換性の理由から、それはまだサポートされています。 リクエストの投稿:

<code>var responseString = await "http://www.example.com/recepticle.aspx"
    .PostUrlEncodedAsync(new { thing1 = "hello", thing2 = "world" })
    .ReceiveString();</code>

メソッド4:WebClient(推奨されない)**

WebClientも別の選択肢ですが、効率はHTTPClientほど効率的ではありません。

リクエストの投稿:

<code>string postData = "thing1=" + Uri.EscapeDataString("hello");
postData += "&thing2=" + Uri.EscapeDataString("world");
var data = Encoding.ASCII.GetBytes(postData);

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";

using (var stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}</code>

結論

.NET送信HTTP投稿リクエストは複数の方法を使用できます。 HTTPClientは好ましい方法であり、3番目のパーティライブラリは他の機能を提供します。互換性の理由から、HTTPWEBREQUESTとWebClientを使用することもできますが、最新の方法を使用して最適なパフォーマンスと機能を取得することをお勧めします。

以上がさまざまな方法を使用して.NETでHTTP POSTリクエストを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。