Maison >développement back-end >C++ >Comment convertir un appel cURL en requête HTTP en C# ?

Comment convertir un appel cURL en requête HTTP en C# ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-31 09:37:10432parcourir

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

Faire un appel cURL en C# : comprendre les options

Lorsque vous effectuez un appel cURL à partir d'une application console C#, il est important de prendre en compte les options disponibles pour implémenter les requêtes HTTP. Bien que cURL ne soit pas directement appelé, les développeurs ont plusieurs choix :

  • HttpWebRequest/HttpWebResponse : Classes de requêtes et de réponses HTTP traditionnelles.
  • WebClient : Une API simplifiée pour faire du HTTP requêtes.
  • HttpClient : Un client HTTP avancé et moderne introduit dans .NET 4.5.

Conversion en une requête HTTP

Convertir un appel cURL en requête HTTP n'est pas toujours nécessaire. Dans de nombreux cas, il est possible d'effectuer l'appel cURL directement en utilisant l'une des options mentionnées.

Pour votre appel cURL spécifique :

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

Vous pouvez l'envoyer sous forme de requête HTTP POST standard avec une charge utile codée sous forme de formulaire.

Passer l'appel avec HttpClient

HttpClient est l'approche recommandée, offrant des fonctionnalités plus avancées et une syntaxe plus propre :

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());
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn