Converti curl in Ruby

curl2code converte i comandi curl in codice Ruby utilizzando la libreria standard net/http. Tutto viene eseguito localmente nel tuo browser tramite WebAssembly per la massima privacy. Se preferisci Python, consulta il nostro convertitore da curl a Python. Per Elixir, vedi da curl a Elixir. Di seguito sono riportati esempi pratici in Ruby.

Come copiare curl dal tuo browser

  1. 1

    Apri DevTools

    Premi F12 o Ctrl+Shift+I per aprire gli strumenti per sviluppatori del browser.

  2. 2

    Vai alla scheda Network

    Fai clic sulla scheda Network ed esegui l'azione che attiva la richiesta HTTP.

  3. 3

    Copia come cURL

    Fai clic con il tasto destro sulla richiesta → CopiaCopia come cURL. Quindi incollalo sopra.

Domande Frequenti

Cos'è net/http di Ruby?

net/http di Ruby è il client HTTP della libreria standard incluso in ogni installazione di Ruby. Gestisce GET, POST, caricamenti multipart, SSL e header personalizzati. Nessuna installazione di gem necessaria. curl2code supporta anche HTTParty, una gem popolare che semplifica i pattern HTTP comuni con un'API pulita e dichiarativa.

net/http vs HTTParty vs Faraday — quale dovrei usare?

net/http è integrato e senza dipendenze — ottimo per compiti semplici e script. HTTParty fornisce un DSL pulito con parsing JSON automatico. Faraday offre middleware, pattern adapter e la massima flessibilità. Per una semplicità di scripting simile, vedi il nostro convertitore da curl a Python o da curl a PHP.

Come gestire l'autenticazione in Ruby?

Con net/http: request["Authorization"] = "Bearer token". Per l'autenticazione Basic: request.basic_auth("user", "pass"). HTTParty usa headers: { "Authorization" => "Bearer token" } o basic_auth: { username: "user", password: "pass" }. curl2code gestisce sia -u che i flag degli header.

Come inviare dati form multipart in Ruby?

Con net/http, usa la gem multipart-post o costruisci manualmente il body multipart usando Net::HTTP::Post con stringhe boundary. HTTParty semplifica questo con body: { file: File.open("path") }. curl2code converte i flag -F per entrambe le varianti.

Come gestire gli errori HTTP in Ruby?

Con net/http, controlla response.is_a?(Net::HTTPSuccess) o usa response.value che solleva un'eccezione per stati non 2xx. HTTParty restituisce un oggetto risposta con i metodi .success? e .code. Per connessioni persistenti, gestisci Errno::ECONNREFUSED e Net::ReadTimeout.

Come effettuare richieste HTTP concorrenti in Ruby?

La libreria standard di Ruby è sincrona. Usa Thread.new { ... } per la concorrenza di base o la gem concurrent-ruby per i thread pool. Per I/O asincrono, usa async-http con la gem Async. Typhoeus fornisce l'accodamento di richieste parallele. Per il supporto asincrono integrato, vedi da curl a Elixir.

Come impostare i timeout in Ruby?

Con net/http: http.open_timeout = 10 (connessione) e http.read_timeout = 30 (risposta). HTTParty accetta l'opzione timeout: 30. Questi mappano sui flag --connect-timeout e --max-time di curl. Imposta sempre i timeout per evitare richieste appese indefinitamente.

Come usare un proxy in Ruby?

Con net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). Oppure imposta le variabili d'ambiente http_proxy e https_proxy — Ruby le rispetta automaticamente. HTTParty usa l'opzione http_proxy: 'http://proxy:8080'. curl2code converte i flag -x nella sintassi Ruby corretta.

Come inviare una richiesta POST con un corpo JSON in Ruby?

Converti un comando curl POST come curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL in Ruby usando curl2code. Il codice generato utilizza Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). curl2code rileva automaticamente i flag -d/--data con contenuto JSON e imposta l'intestazione Content-Type appropriata nel codice net/http.

Come aggiungere l''autorizzazione con Bearer token in Ruby?

Passa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code e genererà il codice net/http con l'intestazione di autenticazione: req['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code rileva i Bearer token sia dai flag -H "Authorization: Bearer ..." che --oauth2-bearer. Per la Basic auth, usa -u user:pass.

Come impostare l''intestazione Content-Type in Ruby?

curl2code converte curl -H "Content-Type: application/json" URL in codice net/http con l'intestazione corretta: req['Content-Type'] = 'application/json'. Per i dati -d, curl utilizza come predefinito application/x-www-form-urlencoded; per i caricamenti di moduli -F, utilizza multipart/form-data. curl2code mappa ciascuno alla corretta API di net/http.

Link utili

Guide curl

Converti curl in altri linguaggi