Rumah > pembangunan bahagian belakang > C++ > Bagaimana cara menghantar permintaan pos http dalam .net menggunakan kaedah yang berbeza?

Bagaimana cara menghantar permintaan pos http dalam .net menggunakan kaedah yang berbeza?

Patricia Arquette
Lepaskan: 2025-02-02 16:36:12
asal
919 orang telah melayarinya

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

.net Hantar permintaan pos http

Pengenalan

Dalam .NET, HTTP Post meminta pemaju untuk menghantar data ke pelayan. Data ini boleh menggunakan pelbagai format, seperti JSON, XML atau membentuk data pengekodan URL. Artikel ini akan menyeluruh secara menyeluruh bagaimana untuk mengeluarkan permintaan pos HTTP dalam .NET untuk meneroka kaedah yang berbeza dan memberikan contoh kod.

Kaedah 1: Gunakan httpclient (cadangan) **

httpClient adalah kaedah cadangan untuk permintaan HTTP dalam .NET, dengan prestasi tinggi. Ia boleh didapati dalam versi .NET yang paling moden dan menyediakan operasi tak segerak.

Tetapan:

Permintaan pos:

<code>private static readonly HttpClient client = new HttpClient();</code>
Salin selepas log masuk

Dapatkan Permintaan:

<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>
Salin selepas log masuk

Kaedah 2: Perpustakaan pihak ketiga RestSharp:

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

flurl.http:

kaedah 3: httpwebrequest (tidak disyorkan) **
<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>
Salin selepas log masuk

httpwebrequest adalah kaedah yang lebih lama, dan prestasi tidak sebaik httpclient. Atas sebab keserasian, ia masih disokong. Permintaan pos:

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

Kaedah 4: WebClient (tidak disyorkan) **

WebClient adalah pilihan lain, tetapi kecekapannya tidak begitu cekap seperti HTTPClient.

Permintaan pos:

<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>
Salin selepas log masuk

Kesimpulan

.NET Hantar permintaan pos HTTP boleh menggunakan pelbagai kaedah. HttpClient adalah kaedah pilihan, dan perpustakaan ketiga -tiga menyediakan fungsi lain. Atas sebab keserasian, httpwebrequest dan webclient masih boleh digunakan, tetapi disyorkan untuk menggunakan kaedah moden untuk mendapatkan prestasi dan fungsi yang optimum.

Atas ialah kandungan terperinci Bagaimana cara menghantar permintaan pos http dalam .net menggunakan kaedah yang berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan