Rumah > pembangunan bahagian belakang > C++ > Bagaimana cara menghantar permintaan pos http dengan cekap di .net?

Bagaimana cara menghantar permintaan pos http dengan cekap di .net?

Barbara Streisand
Lepaskan: 2025-02-02 16:46:14
asal
328 orang telah melayarinya

How to Efficiently Send HTTP POST Requests in .NET?

<.> Hantar permintaan pos http

Permintaan Pos HTTP untuk menghantar data ke pelayan. Artikel ini membincangkan pelbagai kaedah untuk melaksanakan permintaan pos HTTP dengan berkesan dalam .NET.

Kaedah A: httpclient (disyorkan)

HttpClient adalah kaedah pilihan untuk melaksanakan permintaan HTTP dalam aplikasi .NET moden. Ia pantas, menyokong pelaksanaan asynchronous, dan boleh didapati secara meluas dalam rangka kerja seperti Rangka Kerja NET, .NET Standard dan .NET Core.

Contoh Kod Permintaan Pos:

Kaedah B: Perpustakaan pihak ketiga

using System.Net.Http;

...

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

.NET mempunyai banyak perpustakaan pihak ketiga yang tersedia untuk menghantar permintaan HTTP. RestSharp

RestSharp menyediakan pelanggan REST yang komprehensif yang menyokong pelbagai kaedah HTTP, termasuk pos.

Contoh Kod Permintaan Pos:

flurl.http

flurl.http menyediakan API yang lancar untuk permintaan HTTP, menjadikan kod lebih ringkas dan mudah dibaca.
using RestSharp;

...

var client = new RestClient("http://example.com");
var request = new RestRequest("resource/{id}");
request.AddParameter("thing1", "Hello");
request.AddParameter("thing2", "world");
var response = client.Post(request);
var content = response.Content;
Salin selepas log masuk

Contoh Kod Permintaan Pos:

kaedah C: httpwebRequest (tidak disyorkan)

HttpWebRequest adalah kelas yang tinggal yang tidak disyorkan untuk pembangunan baru. Prestasinya tidak sebaik httpclient dan tidak menyokong semua fungsinya.

using Flurl.Http;

...

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

Kaedah D: WebClient (tidak disyorkan)

WebClient adalah pembungkus httpwebrequest. Prestasinya juga lebih rendah daripada fungsi httpclient dan terhad.

Contoh Kod Permintaan Pos:
using System.Net;
using System.Text;
using System.IO;

...

var request = (HttpWebRequest)WebRequest.Create("http://www.example.com/recepticle.aspx");
var 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";
request.ContentLength = data.Length;

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

var response = (HttpWebResponse)request.GetResponse();

var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
Salin selepas log masuk

Pilih kaedah yang betul bergantung pada keperluan khusus dan platform sasaran anda. Bagi kebanyakan aplikasi .NET moden, HTTPClient adalah pilihan yang disyorkan kerana prestasi tinggi, fleksibiliti dan sokongan yang luas.

Atas ialah kandungan terperinci Bagaimana cara menghantar permintaan pos http dengan cekap di .net?. 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