Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar Panggilan cURL kepada Permintaan HTTP dalam C#?

Bagaimana untuk Menukar Panggilan cURL kepada Permintaan HTTP dalam C#?

Linda Hamilton
Linda Hamiltonasal
2024-12-31 09:37:10477semak imbas

How to Convert a cURL Call to an HTTP Request in C#?

Membuat Panggilan cURL dalam C#: Memahami Pilihan

Apabila membuat panggilan cURL daripada aplikasi konsol C#, adalah penting untuk mempertimbangkan pilihan yang tersedia untuk melaksanakan permintaan HTTP. Walaupun cURL tidak dipanggil secara langsung, pembangun mempunyai pelbagai pilihan:

  • HttpWebRequest/HttpWebResponse: Kelas permintaan dan respons HTTP tradisional.
  • Pelanggan Web: API yang dipermudahkan untuk membuat HTTP permintaan.
  • HttpClient: Pelanggan HTTP canggih dan moden yang diperkenalkan dalam .NET 4.5.

Penukaran kepada Permintaan HTTP

Menukar panggilan cURL kepada permintaan HTTP tidak selalu diperlukan. Dalam kebanyakan kes, anda boleh membuat panggilan cURL secara terus menggunakan salah satu pilihan yang dinyatakan.

Untuk panggilan cURL khusus anda:

curl -d "text=This is a block of text" \
    http://api.repustate.com/v2/demokey/score.json

Anda boleh menghantar ini sebagai permintaan HTTP POST biasa dengan muatan berkod borang.

Membuat Panggilan dengan HttpClient

HttpClient ialah pendekatan yang disyorkan, menawarkan ciri yang lebih maju dan sintaks yang lebih bersih:

using System.Net.Http;
using System.Net.Http.Formatting;

var client = new HttpClient();
var requestContent = new FormUrlEncodedContent(new[]
{
    new KeyValuePair<string, string>("text", "This is a block of text"),
});

HttpResponseMessage response = await client.PostAsync(
"http://api.repustate.com/v2/demokey/score.json", requestContent);

HttpContent responseContent = response.Content;
using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
{
    Console.WriteLine(await reader.ReadToEndAsync());
}

Atas ialah kandungan terperinci Bagaimana untuk Menukar Panggilan cURL kepada Permintaan HTTP dalam C#?. 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