Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara menghantar permintaan pos http dalam .net menggunakan httpclient, restsharp, dan kaedah lain?

Bagaimana cara menghantar permintaan pos http dalam .net menggunakan httpclient, restsharp, dan kaedah lain?

Susan Sarandon
Susan Sarandonasal
2025-02-02 16:31:10935semak imbas

.

How to Send HTTP POST Requests in .NET Using HttpClient, RestSharp, and Other Methods?
Artikel ini akan menerangkan sepenuhnya cara menghantar permintaan pos HTTP di bawah Rangka Kerja .NET.

Kaedah yang disyorkan: httpclient

Dalam .NET, menggunakan kelas

adalah kaedah pilihan untuk menghantar permintaan HTTP. Ia menyediakan cara yang tidak segerak yang tinggi untuk menghantar permintaan dan menerima respons.

HttpClient

Kaedah 2: Perpustakaan pihak ketiga
<code class="language-csharp">// 初始化
private static readonly HttpClient client = new HttpClient();

// POST 请求
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>

RestSharp

RestSharp adalah perpustakaan permintaan HTTP ketiga yang popular yang menyediakan API yang mudah dan mudah untuk menggunakan fungsi API dan kaya.

flurl.http

<code class="language-csharp">// POST 请求
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; // 原始字符串内容</code>

flurl.http adalah perpustakaan yang lebih baru, dengan API yang lancar dan mudah alih.

Kaedah 3: httpwebrequest

ditinggalkan
<code class="language-csharp">// POST 请求
var responseString = await "http://www.example.com/recepticle.aspx"
    .PostUrlEncodedAsync(new { thing1 = "hello", thing2 = "world" })
    .ReceiveString();</code>

adalah kaedah yang lebih lama.

Kaedah 4: WebClient

ditinggalkan HttpWebRequest HttpClient

adalah peranti pembungkusan
<code class="language-csharp">// POST 请求
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();</code>
, yang biasanya tidak disyorkan untuk projek baru.

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

Kenyataan:
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