Convertește curl în Ruby

curl2code convertește comenzile curl în cod Ruby folosind biblioteca standard net/http. Totul rulează local în browserul tău prin WebAssembly pentru confidențialitate deplină. Dacă preferi Python, verifică convertorul nostru curl în Python. Pentru Elixir, vezi curl în Elixir. Mai jos sunt exemple practice Ruby.

Cum să copiezi curl din browserul tău

  1. 1

    Deschide DevTools

    Apasă F12 sau Ctrl+Shift+I pentru a deschide instrumentele de dezvoltare ale browserului.

  2. 2

    Mergi la fila Network

    Fă clic pe fila Network și efectuează acțiunea care declanșează cererea HTTP.

  3. 3

    Copiază ca cURL

    Fă clic dreapta pe cerere → CopyCopy as cURL. Apoi lipește-o mai sus.

Întrebări frecvente

Ce este Ruby net/http?

net/http din Ruby este clientul HTTP din biblioteca standard inclus în fiecare instalare Ruby. Gestionează GET, POST, încărcări multipart, SSL și antete personalizate. Nu este necesară instalarea niciunui gem. curl2code suportă, de asemenea, HTTParty, un gem popular care simplifică modelele HTTP comune cu un API curat și declarativ.

net/http vs HTTParty vs Faraday — pe care ar trebui să o folosesc?

net/http este încorporat și fără dependențe — excelent pentru sarcini simple și scripturi. HTTParty oferă un DSL curat cu parsare automată JSON. Faraday oferă middleware, modele de adaptor și cea mai mare flexibilitate. Pentru o simplitate similară în scripting, consultați convertorul curl în Python sau curl în PHP.

Cum se gestionează autentificarea în Ruby?

Cu net/http: request["Authorization"] = "Bearer token". Pentru autentificarea Basic: request.basic_auth("user", "pass"). HTTParty utilizează headers: { "Authorization" => "Bearer token" } sau basic_auth: { username: "user", password: "pass" }. curl2code gestionează atât -u, cât și flag-urile de antet.

Cum se trimit date de formular multipart în Ruby?

Cu net/http, utilizați gem-ul multipart-post sau construiți manual body-ul multipart utilizând Net::HTTP::Post cu șiruri de delimitare. HTTParty simplifică acest lucru cu body: { file: File.open("path") }. curl2code convertește flag-urile -F pentru ambele variante de bibliotecă.

Cum se gestionează erorile HTTP în Ruby?

Cu net/http, verificați response.is_a?(Net::HTTPSuccess) sau utilizați response.value, care aruncă o excepție pentru codurile de stare care nu sunt 2xx. HTTParty returnează un obiect de răspuns cu metodele .success? și .code. Pentru conexiuni persistente, capturați Errno::ECONNREFUSED și Net::ReadTimeout.

Cum se fac cereri HTTP concurente în Ruby?

Biblioteca standard din Ruby este sincronă. Utilizați Thread.new { ... } pentru concurență de bază sau gem-ul concurrent-ruby pentru pool-uri de thread-uri. Pentru I/O asincron, utilizați async-http cu gem-ul Async. Typhoeus oferă cozi de cereri paralele. Pentru suport asincron încorporat, consultați curl în Elixir.

Cum se setează timeout-urile în Ruby?

Cu net/http: http.open_timeout = 10 (conexiune) și http.read_timeout = 30 (răspuns). HTTParty acceptă opțiunea timeout: 30. Acestea se mapează pe --connect-timeout și --max-time din curl. Setați întotdeauna timeout-uri pentru a evita cererile care rămân blocate pe termen nelimitat.

Cum se folosește un proxy în Ruby?

Cu net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). Sau setați variabilele de mediu http_proxy și https_proxy — Ruby le respectă automat. HTTParty utilizează opțiunea http_proxy: 'http://proxy:8080'. curl2code convertește flag-urile -x în sintaxa Ruby corectă.

Cum se trimite o cerere POST cu un corp JSON în Ruby?

Convertește o comandă curl POST precum curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL în Ruby folosind curl2code. Codul generat utilizează Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). curl2code detectează automat flag-urile -d/--data cu conținut JSON și setează antetul Content-Type corespunzător în codul net/http.

Cum se adaugă autorizarea prin Bearer token în Ruby?

Introdu curl -H "Authorization: Bearer YOUR_TOKEN" URL în curl2code și acesta va genera cod net/http cu antetul de autentificare: req['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code detectează Bearer tokens atât din flag-urile -H "Authorization: Bearer ...", cât și din --oauth2-bearer. Pentru Basic auth, utilizează -u user:pass.

Cum se setează antetul Content-Type în Ruby?

curl2code convertește curl -H "Content-Type: application/json" URL în cod net/http cu antetul corect: req['Content-Type'] = 'application/json'. Pentru datele -d, curl folosește implicit application/x-www-form-urlencoded; pentru încărcările de formulare -F, folosește multipart/form-data. curl2code mapează fiecare opțiune către API-ul net/http corect.

Linkuri utile

Ghiduri curl

Convertește curl în alte limbaje