cURL → Ruby
Convertissez vos requêtes cURL en code Ruby propre et performant avec Net::HTTP, URI, Faraday, HTTParty et gestion JSON.

Générateur cURL vers Ruby (Net::HTTP & Faraday)

Convertissez vos requêtes cURL en code Ruby propre et idiomatique avec Net::HTTP, URI, Faraday et la gestion native du JSON.

Confidentialité 100% côté client
Zéro transmission au serveur
Modèles:
Commande cURLPOST
#!/usr/bin/env ruby
# Net::HTTP Client - Ruby Standard Library (Zero External Gems)
require 'net/http'
require 'uri'
require 'json'

begin
  uri = URI.parse("https://api.github.com/repos/octocat/Hello-World/issues")

  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = (uri.scheme == 'https')

  request = Net::HTTP::Post.new(uri.request_uri)
  request["Accept"] = "application/vnd.github+json"
  request["Authorization"] = "Bearer gho_16C7e42F292c6912E7710c838347Ae178B4a"
  request["X-GitHub-Api-Version"] = "2022-11-28"
  request["Content-Type"] = "application/json"

  payload = {
    title: "Bug in auth session",
    body: "Need to verify token expiration handling",
    labels: ["bug", "priority"]
  }
  request.body = JSON.dump(payload)

  # Dispatch request
  response = http.request(request)

  puts "HTTP Status: #{response.code} #{response.message}"
  begin
    data = JSON.parse(response.body)
    puts "Parsed JSON Response:"
    puts JSON.pretty_generate(data)
  rescue JSON::ParserError
    puts "Raw Body: #{response.body}"
  end
rescue SocketError => e
  warn "Network connection error: #{e.message}"
rescue Net::OpenTimeout, Net::ReadTimeout => e
  warn "Request timed out: #{e.message}"
rescue StandardError => e
  warn "Execution failure: #{e.class} - #{e.message}"
end

100% Confidentialité Côté Client

L'analyse cURL, l'extraction des jetons et la génération du code Ruby s'effectuent intégralement dans la mémoire de votre navigateur sans requêtes serveur.

Moteurs Doubles Net::HTTP et Faraday

Générez des scripts autonomes sans gem externe avec Net::HTTP natif ou des blocs Faraday, HTTParty et HTTP.rb modernes avec options SSL.

Conformité Complète en Production

Prise en charge complète des charges utiles JSON, formulaires url-encoded, envois multipartes, authentification Basic/Bearer et timeouts.

Référence technique et guide d'architecture

Guide développeur du générateur de code cURL vers Ruby (Net::HTTP & Faraday) — Guide de référence

Convertissez vos requêtes cURL en code Ruby propre et idiomatique avec Net::HTTP, URI, Faraday et la gestion native du JSON.

Paramètres clés et contrôles

librarystring (net_http | faraday)

Bibliothèque cliente HTTP Ruby cible (Net::HTTP native ou gem Faraday).

Par défaut : net_http
cleanDevToolsboolean

Supprime les pseudo-en-têtes DevTools (:authority, :path, :method) provoquant des erreurs de syntaxe sous Ruby.

Par défaut : true
parseJsonboolean

Ajoute la désérialisation avec JSON.parse(res.body, symbolize_names: true) pour produire des hashs idiomatiques à clés symboles.

Par défaut : true
sslVerifyboolean

Définit le mode de vérification des certificats SSL/TLS (VERIFY_PEER ou VERIFY_NONE).

Par défaut : true

Conseils de pro et bonnes practices

Lors d'une instanciation via Net

Lors d'une instanciation via Net::HTTP.new(uri.host, uri.port), SSL est désactivé par défaut. Définissez http.use_ssl = (uri.scheme == 'https') ou utilisez la forme en bloc Net::HTTP.start(uri.host, uri.port, use_ssl: true) pour éviter les rejets de connexion.

Faraday propose une architecture de

Faraday propose une architecture de middlewares pour automatiser la sérialisation JSON, les tentatives de rejeu et le logging. Configurez f.request :json et f.response :json pour découpler le transport de votre logique métier.

Passer symbolize_names

Passer symbolize_names: true à JSON.parse convertit les clés en symboles (ex. donnees[:id] plutôt que donnees['id']), respectant les conventions Ruby tout en réduisant l'allocation mémoire.

Pièges courants et dépannage

Net::HTTPHeaderSyntaxError: invalid header name or value

Les commandes cURL issues du navigateur comportent souvent des pseudo-en-têtes HTTP/2 préfixés par deux-points (:authority). Activez l'option 'cleanDevTools' pour les assainir automatiquement.

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 peer certificate cannot be authenticated

Vérifiez que votre environnement Ruby dispose d'un trousseau de certificats CA à jour. En local avec des certificats auto-signés, utilisez http.verify_mode = OpenSSL::SSL::VERIFY_NONE.

Foire aux questions (FAQ)

Quand privilégier Net::HTTP par rapport à Faraday en Ruby ?▼

Choisissez Net::HTTP pour les scripts autonomes, les gems sans dépendance externe ou les fonctions serverless AWS Lambda. Privilégiez Faraday pour les applications Rails et architectures d'API nécessitant du pooling de connexions et des middlewares modulaires.

Comment le générateur traite-t-il l'authentification Basic et les jetons Bearer ?▼

Les arguments cURL comme -u user:pass sont convertis en req.basic_auth(user, pass) avec Net::HTTP ou f.request :authorization, :basic avec Faraday. Les jetons Bearer sont ajoutés directement dans l'en-tête standard Authorization: Bearer <token>.

Comment gérer le téléchargement de fichiers volumineux ou le streaming en Ruby ?▼

Avec Net::HTTP, passez un bloc à http.request(req) { |res| res.read_body { |chunk| file.write(chunk) } } afin d'écrire les paquets sur disque sans saturer la RAM. Faraday offre des fonctionnalités similaires via ses adaptateurs compatibles streaming.

Mes commandes cURL ou clés d'API sont-elles transmises à un serveur ?▼

Non. L'analyse syntaxique cURL, le filtrage des en-têtes et la génération du code Ruby sont effectués à 100 % dans votre navigateur en JavaScript côté client. Aucune donnée n'est envoyée vers l'extérieur.

Outils et utilitaires connexes

Tous les outils →
Générateur de NetworkPolicy K8S Guide DéveloppeurDéveloppement

Référence technique pour générer des manifestes Kubernetes NetworkPolicy déclaratifs, l'isolation de pods zero-trust, les règles d'ingress/egress, les blocs CIDR et les ports multiples.

Ouvrir l'outil→
Guide Développeur : Générateur YAML Kubernetes RBAC Role & ClusterRoleBindingDéveloppement

Concevez des manifestes Kubernetes RBAC pour Role, ClusterRole, RoleBinding et ClusterRoleBinding avec groupes d'API, verbes de ressources et comptes de service.

Ouvrir l'outil→
Guide du Développeur du Générateur de YAML Kubernetes StatefulSet & Headless ServiceDéveloppement

Générez des manifestes Kubernetes StatefulSet de qualité production avec Headless Service associé, volumeClaimTemplates persistants, réplicas et podManagementPolicy.

Ouvrir l'outil→
Référence Développeur Nginx Location Match TesterDéveloppement

Guide technique pour tester les directives location Nginx et analyser l'ordre de priorité des modificateurs.

Ouvrir l'outil→
Référence Développeur Cloudflare Headers et RedirectsDéveloppement

Guide technique et aide-mémoire de syntaxe pour configurer les fichiers _headers et _redirects de Cloudflare Pages, stratégies de sécurité et réécritures edge.

Ouvrir l'outil→
Vercel構成ファイル (vercel.json) ビルダーDéveloppement

Référence technique pour vercel.json : routage edge, réécritures, en-têtes de sécurité, fonctions serverless et planification cron en production.

Ouvrir l'outil→