Ce que fait l’outil
Collez une commande curl et obtenez du code C# qui envoie la même requête avec HttpClient. L’outil comprend ce que produisent réellement les DevTools et Postman : « Copy as cURL (bash) » avec des chaînes $'...', « Copy as cURL (cmd) » avec des échappements ^, les options --location / --data-urlencode de Postman, les continuations de ligne avec \, ^ ou un accent grave, et les options combinées comme -sSLk.
Fonctionnalités notables
- Deux styles : un
HttpClientsimple avec unSocketsHttpHandlerréutilisable, ou une classe typed client enregistrée avecAddHttpClient<T>()pourIHttpClientFactory, avecBaseAddress, délais et paramètres du handler dans l’enregistrement. - Le bon type de contenu : les corps JSON deviennent
JsonContent.Create(...)avec un objet anonyme (ou un littéral de chaîne brute si vous préférez conserver les octets exacts), les données de formulaire deviennentFormUrlEncodedContent, et-FdevientMultipartFormDataContentavec des parties fichier. Un corps multipart brut copié depuis les DevTools est redécoupé en parties. - Une authentification correcte :
-u,--oauth2-beareret les en-têtesAuthorizationutilisentAuthenticationHeaderValue;--digest/--ntlmutilisentNetworkCredential. - Les en-têtes gérés par HttpClient lui-même sont ignorés avec une remarque :
Host,Content-Length,ConnectionetAccept-Encoding(remplacé par la décompression automatique). Les en-têtessec-ch-*/sec-fetch-*propres au navigateur peuvent être retirés. - Les remarques expliquent tout ce qui demande votre attention :
-k, identifiants dans le code, JSON envoyé sans Content-Type, variables shell, options ignorées.
Utilisation
Collez la commande, choisissez HttpClient ou Typed client, puis copiez ou téléchargez le fichier .cs. Le tableau de la requête analysée montre exactement comment la commande a été comprise. Cliquez sur Exemple pour parcourir des exemples Chrome, Postman, Windows cmd et envoi de fichier.
Confidentialité
Tout s’exécute dans votre navigateur ; rien n’est envoyé nulle part. La dernière commande n’est conservée dans le stockage local que si elle ne contient aucun identifiant (jetons, cookies, mots de passe).