Převést curl do Ruby
curl2code převádí curl příkazy na kód v Ruby pomocí standardní knihovny net/http. Vše běží lokálně ve vašem prohlížeči přes WebAssembly pro úplné soukromí. Pokud dáváte přednost Pythonu, podívejte se na náš převodník curl do Pythonu. Pro Elixir viz curl do Elixiru. Níže jsou praktické příklady v Ruby.
Jak zkopírovat curl z prohlížeče
- 1
Otevřete DevTools
Stiskněte F12 nebo Ctrl+Shift+I pro otevření vývojářských nástrojů prohlížeče.
- 2
Přejděte na kartu Network
Klikněte na kartu Network a proveďte akci, která vyvolá HTTP požadavek.
- 3
Zkopírovat jako cURL
Klikněte pravým tlačítkem na požadavek → Copy → Copy as cURL. Poté jej vložte výše.
Často kladené dotazy
Co je Ruby net/http?
Ruby net/http je standardní knihovna HTTP klienta obsažená v každé instalaci Ruby. Zvládá GET, POST, multipart nahrávání, SSL a vlastní hlavičky. Není nutná instalace žádného gemu. curl2code podporuje také HTTParty, populární gem, který zjednodušuje běžné HTTP vzory pomocí čistého, deklarativního API.
net/http vs HTTParty vs Faraday — co mám použít?
net/http je vestavěný a bez závislostí — skvělý pro jednoduché úkoly a skripty. HTTParty poskytuje čisté DSL s automatickým parsováním JSON. Faraday nabízí middleware, vzory adaptérů a největší flexibilitu. Pro podobnou jednoduchost skriptování se podívejte na náš převodník curl do Pythonu nebo curl do PHP.
Jak řešit autentizaci v Ruby?
S net/http: request["Authorization"] = "Bearer token". Pro autentizaci Basic: request.basic_auth("user", "pass"). HTTParty používá headers: { "Authorization" => "Bearer token" } nebo basic_auth: { username: "user", password: "pass" }. curl2code zpracovává jak -u, tak přepínače hlaviček.
Jak posílat multipart form data v Ruby?
S net/http použijte gem multipart-post nebo sestavte multipart tělo ručně pomocí Net::HTTP::Post s boundary řetězci. HTTParty to zjednodušuje pomocí body: { file: File.open("path") }. curl2code převádí přepínače -F pro obě varianty knihovny.
Jak řešit HTTP chyby v Ruby?
S net/http zkontrolujte response.is_a?(Net::HTTPSuccess) nebo použijte response.value, což vyvolá výjimku u stavů mimo 2xx. HTTParty vrací objekt odpovědi s metodami .success? a .code. Pro trvalá připojení ošetřete Errno::ECONNREFUSED a Net::ReadTimeout.
Jak provádět souběžné HTTP požadavky v Ruby?
Standardní knihovna Ruby je synchronní. Použijte Thread.new { ... } pro základní souběžnost nebo gem concurrent-ruby pro pooly vláken. Pro asynchronní I/O použijte async-http s gemem Async. Typhoeus poskytuje paralelní frontu požadavků. Pro vestavěnou asynchronní podporu viz curl do Elixiru.
Jak nastavit timeouty v Ruby?
S net/http: http.open_timeout = 10 (připojení) a http.read_timeout = 30 (odpověď). HTTParty přijímá volbu timeout: 30. Ty se mapují na curl --connect-timeout a --max-time. Vždy nastavujte timeouty, abyste zabránili nekonečnému visení požadavků.
Jak používat proxy v Ruby?
S net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). Nebo nastavte proměnné prostředí http_proxy a https_proxy — Ruby je respektuje automaticky. HTTParty používá volbu http_proxy: 'http://proxy:8080'. curl2code převádí přepínače -x na správnou syntaxi Ruby.
Jak odeslat POST požadavek s JSON tělem v Ruby?
Převeďte curl POST příkaz jako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do Ruby pomocí curl2code. Vygenerovaný kód používá Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). curl2code automaticky detekuje -d/--data přepínače s JSON obsahem a nastaví odpovídající Content-Type hlavičku v kódu pro net/http.
Jak přidat autorizaci pomocí Bearer tokenu v Ruby?
Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pro net/http s autorizační hlavičkou: req['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code detekuje Bearer tokeny z přepínačů -H "Authorization: Bearer ..." i --oauth2-bearer. Pro Basic auth použijte -u user:pass.
Jak nastavit hlavičku Content-Type v Ruby?
curl2code převede curl -H "Content-Type: application/json" URL na kód pro net/http se správnou hlavičkou: req['Content-Type'] = 'application/json'. Pro data u -d curl standardně používá application/x-www-form-urlencoded; pro nahrávání formulářů přes -F používá multipart/form-data. curl2code mapuje každý z nich na správné net/http API.