Convertir curl en Ruby
curl2code convertit les commandes curl en code Ruby à l'aide de la bibliothèque standard net/http. Tout s'exécute localement dans votre navigateur via WebAssembly pour une confidentialité totale. Si vous préférez Python, consultez notre convertisseur curl vers Python. Pour Elixir, voir curl vers Elixir. Vous trouverez ci-dessous des exemples Ruby pratiques.
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 Ruby net/http ?
Le net/http de Ruby est le client HTTP de la bibliothèque standard inclus avec chaque installation de Ruby. Il gère le GET, le POST, les téléchargements multipart, le SSL et les en-têtes personnalisés. Aucune installation de gem n'est nécessaire. curl2code prend également en charge HTTParty, un gem populaire qui simplifie les modèles HTTP courants avec une API propre et déclarative.
net/http vs HTTParty vs Faraday — lequel dois-je utiliser ?
net/http est intégré et sans dépendance — idéal pour les tâches simples et les scripts. HTTParty fournit un DSL propre avec analyse JSON automatique. Faraday offre des middlewares, des modèles d'adaptateurs et la plus grande flexibilité. Pour une simplicité de script similaire, voir notre convertisseur curl vers Python ou curl vers PHP.
Comment gérer l'authentification en Ruby ?
Avec net/http : request["Authorization"] = "Bearer token". Pour l'authentification Basic : request.basic_auth("user", "pass"). HTTParty utilise headers: { "Authorization" => "Bearer token" } ou basic_auth: { username: "user", password: "pass" }. curl2code gère à la fois -u et les drapeaux d'en-tête.
Comment envoyer des données de formulaire multipart en Ruby ?
Avec net/http, utilisez le gem multipart-post ou construisez le corps multipart manuellement en utilisant Net::HTTP::Post avec des chaînes de délimitation. HTTParty simplifie cela avec body: { file: File.open("path") }. curl2code convertit les drapeaux -F pour les deux variantes de bibliothèque.
Comment gérer les erreurs HTTP en Ruby ?
Avec net/http, vérifiez response.is_a?(Net::HTTPSuccess) ou utilisez response.value qui lève une exception pour les statuts non-2xx. HTTParty renvoie un objet réponse avec les méthodes .success? et .code. Pour les connexions persistantes, interceptez Errno::ECONNREFUSED et Net::ReadTimeout.
Comment effectuer des requêtes HTTP concurrentes en Ruby ?
La bibliothèque standard de Ruby est synchrone. Utilisez Thread.new { ... } pour une concurrence de base ou le gem concurrent-ruby pour les pools de threads. Pour les E/S asynchrones, utilisez async-http avec le gem Async. Typhoeus permet la mise en file d'attente de requêtes parallèles. Pour un support asynchrone intégré, voir curl vers Elixir.
Comment définir des délais d'attente en Ruby ?
Avec net/http : http.open_timeout = 10 (connexion) et http.read_timeout = 30 (réponse). HTTParty accepte l'option timeout: 30. Ceux-ci correspondent aux options --connect-timeout et --max-time de curl. Définissez toujours des délais d'attente pour éviter les requêtes suspendues indéfiniment.
Comment utiliser un proxy en Ruby ?
Avec net/http : Net::HTTP.new(host, port, proxy_host, proxy_port). Ou définissez les variables d'environnement http_proxy et https_proxy — Ruby les respecte automatiquement. HTTParty utilise l'option http_proxy: 'http://proxy:8080'. curl2code convertit les drapeaux -x vers la syntaxe Ruby appropriée.
Comment envoyer une requête POST avec un corps JSON en Ruby ?
Convertissez une commande curl POST comme curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL en Ruby en utilisant curl2code. Le code généré utilise Net::HTTP.post(uri, data.to_json, 'Content-Type' => '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 net/http.
Comment ajouter une autorisation par jeton Bearer en Ruby ?
Passez curl -H "Authorization: Bearer YOUR_TOKEN" URL à curl2code et il générera le code net/http avec l'en-tête d'authentification : req['Authorization'] = 'Bearer YOUR_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 Ruby ?
curl2code convertit curl -H "Content-Type: application/json" URL en code net/http avec l'en-tête approprié : req['Content-Type'] = '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 net/http 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é.