Convertir curl en C#
Convertissez des commandes curl en code C# à l'aide de HttpClient. curl2code s'exécute entièrement dans votre navigateur via WebAssembly — vos données restent privées. Pour le développement Java, essayez notre convertisseur curl vers Java. Pour TypeScript, voir curl vers TypeScript. Vous trouverez ci-dessous des exemples C# prêts à l'emploi.
Comment copier curl depuis votre navigateur
- 1
Ouvrir les DevTools
Appuyez sur F12 ou Ctrl+Shift+I pour ouvrir les outils de développement de votre navigateur.
- 2
Aller dans l'onglet Network
Cliquez sur l'onglet Network et effectuez l'action qui déclenche la requête HTTP.
- 3
Copier comme cURL
Faites un clic droit sur la requête → Copy → Copy as cURL. Collez-la ensuite ci-dessus.
Foire Aux Questions
Qu'est-ce que C# HttpClient ?
HttpClient est le client HTTP moderne et intégré dans .NET. Il prend en charge nativement async/await, HTTP/2, la décompression automatique et le pooling de connexions. Utilisez une seule instance HttpClient (ou IHttpClientFactory) dans toute votre application pour éviter l'épuisement des sockets. C'est la bibliothèque par défaut et la seule utilisée par curl2code pour les conversions C#.
HttpClient vs WebClient vs HttpWebRequest — lequel utiliser ?
HttpClient est le standard moderne — utilisez-le toujours pour les nouveaux projets .NET. WebClient et HttpWebRequest sont hérités et ne devraient plus être utilisés. HttpClient offre un support asynchrone, de meilleures performances et une API plus propre. Pour des clients modernes similaires, voir curl vers Java ou curl vers Go.
Comment gérer l'authentification en C# ?
Définissez l'en-tête : client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token). Pour l'authentification Basic, encodez les identifiants et définissez l'en-tête. L'authentification par requête utilise request.Headers.Authorization. curl2code détecte -u et -H 'Authorization' et génère le code C# correct.
Comment envoyer des données de formulaire multipart en C# ?
Utilisez MultipartFormDataContent : ajoutez StringContent pour les champs et StreamContent avec ContentDisposition pour les fichiers. Passez le contenu multipart à PostAsync(url, content). La limite Content-Type est définie automatiquement. curl2code convertit les drapeaux -F selon ce modèle.
Comment gérer les erreurs HTTP en C# ?
Appelez response.EnsureSuccessStatusCode() pour lever une HttpRequestException sur les statuts non-2xx. Ou vérifiez manuellement response.IsSuccessStatusCode et response.StatusCode. Enveloppez dans un try/catch pour HttpRequestException, TaskCanceledException (délai d'attente) et OperationCanceledException.
Comment utiliser async/await avec HttpClient ?
HttpClient est asynchrone par conception — toutes les méthodes renvoient un Task : var response = await client.GetAsync(url). Utilisez await response.Content.ReadAsStringAsync() pour le corps. Pour les requêtes parallèles, utilisez Task.WhenAll(). N'utilisez jamais .Result ou .Wait() — ils peuvent provoquer des blocages (deadlocks). Pour des modèles asynchrones similaires, voir curl vers TypeScript.
Comment définir des délais d'attente dans C# HttpClient ?
Définissez client.Timeout = TimeSpan.FromSeconds(30) pour le délai global. Pour un contrôle par requête, utilisez CancellationTokenSource avec un délai : new CancellationTokenSource(TimeSpan.FromSeconds(10)). Pour les tentatives, utilisez la bibliothèque Polly ou IHttpClientFactory avec des politiques de tentative.
Comment configurer un proxy en C# ?
Créez un HttpClientHandler avec un proxy : handler.Proxy = new WebProxy("http://proxy:8080"). Passez le handler à new HttpClient(handler). Pour contourner le proxy pour les adresses locales, définissez handler.Proxy.BypassProxyOnLocal = true. curl2code convertit les drapeaux -x et --proxy vers cette configuration.
Comment envoyer une requête POST avec un corps JSON en C# ?
Convertissez une commande curl POST comme curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL en C# en utilisant curl2code. Le code généré utilise new StringContent(json, Encoding.UTF8, 'application/json'). curl2code détecte automatiquement les drapeaux -d/--data avec du contenu JSON et définit l'en-tête Content-Type approprié dans le code HttpClient.
Comment ajouter une autorisation par jeton Bearer en C# ?
Passez curl -H "Authorization: Bearer YOUR_TOKEN" URL à curl2code et il générera le code HttpClient avec l'en-tête d'authentification : client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue('Bearer', token). curl2code détecte les jetons Bearer à partir des drapeaux -H "Authorization: Bearer ..." et --oauth2-bearer. Pour le Basic auth, utilisez -u user:pass.
Comment définir l''en-tête Content-Type en C# ?
curl2code convertit curl -H "Content-Type: application/json" URL en code HttpClient avec l'en-tête approprié : new StringContent(json, Encoding.UTF8, 'application/json'). Pour les données -d, curl utilise par défaut application/x-www-form-urlencoded ; pour les téléchargements de formulaires -F, il utilise multipart/form-data. curl2code associe chacun à l'API HttpClient correcte.
Liens utiles
Guides curl
Codes d'erreur curl
Recherchez n'importe quel code de sortie curl — causes, corrections et astuces de débogage.
Télécharger des fichiers avec curl
Enregistrez des fichiers avec -o, -O, suivez les redirections, reprenez les téléchargements et plus encore.
SSL, TLS et proxy
Configurez les certificats, les versions TLS, les proxys HTTP/SOCKS et le DNS personnalisé.