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) **
Tetapan:
<code>private static readonly HttpClient client = new HttpClient();</code>
<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>
Kaedah 2: Perpustakaan pihak ketiga
<code>var responseString = await client.GetStringAsync("http://www.example.com/recepticle.aspx");</code>
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>
httpwebrequest adalah kaedah yang lebih lama, dan prestasi tidak sebaik httpclient. Atas sebab keserasian, ia masih disokong.
<code>var responseString = await "http://www.example.com/recepticle.aspx" .PostUrlEncodedAsync(new { thing1 = "hello", thing2 = "world" }) .ReceiveString();</code>
WebClient adalah pilihan lain, tetapi kecekapannya tidak begitu cekap seperti 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 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!