114 votes

Faire un appel cURL en C#

Je veux faire ce qui suit curl dans mon application console C# :

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

J'ai essayé de faire comme la question posée aquí mais je ne parviens pas à remplir correctement les propriétés.

J'ai également essayé de la convertir en une demande HTTP normale :

http://api.repustate.com/v2/demokey/score.json?text="This%20is%20a%20block%20of%20text"

Puis-je convertir un appel cURL en une requête HTTP ? Si oui, comment ? Sinon, comment puis-je effectuer correctement l'appel cURL ci-dessus à partir de mon application console C# ?

0 votes

1 votes

@DanielEarwicker : Je dirais que ce n'est pas le cas, seulement parce que HttpClient est dans le mélange maintenant, et il va être le site manière d'obtenir du contenu HTTP sur HttpWebRequest y WebClient à l'avenir.

1voto

Si vous êtes novice en C# avec une expérience de la ligne de commande, vous pouvez utiliser des sites en ligne comme " https://curl.olsh.me/ "ou cherchez curl to C# converter, vous trouverez un site qui pourra le faire pour vous.

ou si vous utilisez Postman, vous pouvez utiliser Generate Code Snippet ; le seul problème avec le générateur de code Postman est la dépendance à la bibliothèque RestSharp.

1voto

N'oubliez pas d'ajouter System.Net.Http, surtout si vous recevez cette erreur :

Code de gravité Description État de suppression de la ligne de fichier du projet Erreur CS0246 Le nom de type ou d'espace de noms 'HttpClient' n'a pas pu être trouvé (manque-t-il une directive using ou une référence d'assemblage ? référence d'assemblage) 1_default.aspx D:\Projetos\Testes\FacebookAPI\FB -CustomAudience \default.aspx.cs 56 Actif

Dans ce cas, vous devriez :

  1. Ajouter System.Net.Http à partir de Nuget : Tools / NuGet Package Manager / Manager NuGet Packages for Solution ;
  2. Recherche de System.Net.Http
  3. Ajoutez en haut de votre page le code suivant : en utilisant System.Net.Http ;

0voto

user8803505 Points 96

Appeler cURL depuis votre application console n'est pas une bonne idée.

Mais vous pouvez utiliser TinyRestClient qui facilitent l'élaboration des demandes :

var client = new TinyRestClient(new HttpClient(),"https://api.repustate.com/");

client.PostRequest("v2/demokey/score.json").
AddQueryParameter("text", "").
ExecuteAsync<MyResponse>();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X