Prevod curl do Ruby

curl2code konvertuje curl príkazy na Ruby kód pomocou štandardnej knižnice net/http. Všetko beží lokálne vo vašom prehliadači cez WebAssembly pre úplné súkromie. Ak preferujete Python, pozrite si náš prevodník curl do Pythonu. Pre Elixir si pozrite curl do Elixiru. Nižšie sú praktické Ruby príklady.

Ako skopírovať curl z vášho prehliadača

  1. 1

    Otvorte DevTools

    Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.

  2. 2

    Prejdite na kartu Network

    Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.

  3. 3

    Skopírovať ako cURL

    Kliknite pravým tlačidlom na požiadavku → CopyCopy as cURL. Potom ju prilepte vyššie.

Často kladené otázky

Čo je Ruby net/http?

Ruby net/http je štandardná knižnica HTTP klienta zahrnutá v každej inštalácii Ruby. Zvláda GET, POST, multipart nahrávanie, SSL a vlastné hlavičky. Nevyžaduje sa inštalácia žiadneho gemu. curl2code podporuje aj HTTParty, populárny gem, ktorý zjednodušuje bežné HTTP vzory pomocou čistého, deklaratívneho API.

net/http vs HTTParty vs Faraday — čo by som mal použiť?

net/http je vstavaný a bez závislostí — skvelý pre jednoduché úlohy a skripty. HTTParty poskytuje čisté DSL s automatickým parsovaním JSON. Faraday ponúka middleware, vzory adaptérov a najväčšiu flexibilitu. Pre podobnú jednoduchosť skriptovania si pozrite náš curl to Python konvertor alebo curl to PHP.

Ako riešiť autentifikáciu v Ruby?

S net/http: request["Authorization"] = "Bearer token". Pre Basic autentifikáciu: request.basic_auth("user", "pass"). HTTParty používa headers: { "Authorization" => "Bearer token" } alebo basic_auth: { username: "user", password: "pass" }. curl2code spracováva prepínače -u aj hlavičky.

Ako posielať multipart form data v Ruby?

S net/http použite gem multipart-post alebo zostavte multipart telo manuálne pomocou Net::HTTP::Post s boundary reťazcami. HTTParty to zjednodušuje pomocou body: { file: File.open("path") }. curl2code konvertuje prepínače -F pre oba varianty knižnice.

Ako riešiť HTTP chyby v Ruby?

S net/http skontrolujte response.is_a?(Net::HTTPSuccess) alebo použite response.value, čo vyvolá výnimku pri inom ako 2xx stave. HTTParty vracia objekt odpovede s metódami .success? a .code. Pre perzistentné pripojenia zachytávajte Errno::ECONNREFUSED a Net::ReadTimeout.

Ako vytvárať súbežné HTTP požiadavky v Ruby?

Štandardná knižnica Ruby je synchrónna. Použite Thread.new { ... } pre základnú súbežnosť alebo gem concurrent-ruby pre pooly vlákien. Pre asynchrónne I/O použite async-http s gemom Async. Typhoeus poskytuje paralelné radenie požiadaviek. Pre vstavanú asynchrónnu podporu si pozrite curl to Elixir.

Ako nastaviť timeouty v Ruby?

S net/http: http.open_timeout = 10 (pripojenie) a http.read_timeout = 30 (odpoveď). HTTParty prijíma možnosť timeout: 30. Tieto sa mapujú na curl prepínače --connect-timeout a --max-time. Vždy nastavujte timeouty, aby ste sa vyhli nekonečne visiacim požiadavkám.

Ako používať proxy v Ruby?

S net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). Alebo nastavte premenné prostredia http_proxy a https_proxy — Ruby ich automaticky rešpektuje. HTTParty používa možnosť http_proxy: 'http://proxy:8080'. curl2code konvertuje prepínače -x na správnu syntax Ruby.

Ako poslať POST požiadavku s JSON telom v jazyku Ruby?

Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do jazyka Ruby pomocou curl2code. Vygenerovaný kód používa Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde pre net/http.

Ako pridať autorizáciu pomocou Bearer tokenu v jazyku Ruby?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pre net/http s autorizačnou hlavičkou: req['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code deteguje Bearer tokeny z prepínačov -H "Authorization: Bearer ..." aj --oauth2-bearer. Pre Basic auth použite -u user:pass.

Ako nastaviť hlavičku Content-Type v jazyku Ruby?

curl2code konvertuje curl -H "Content-Type: application/json" URL na kód pre net/http so správnou hlavičkou: req['Content-Type'] = 'application/json'. Pre dáta v -d curl predvolene používa application/x-www-form-urlencoded; pre nahrávanie formulárov cez -F používa multipart/form-data. curl2code mapuje každý z nich na správne API pre net/http.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov