<.> 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();
.NET mempunyai banyak perpustakaan pihak ketiga yang tersedia untuk menghantar permintaan HTTP.
RestSharp menyediakan pelanggan REST yang komprehensif yang menyokong pelbagai kaedah HTTP, termasuk pos.
Contoh Kod Permintaan Pos:
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;
Contoh Kod Permintaan Pos:
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();
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();
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!