Converter curl para Ruby

O curl2code converte comandos curl para código Ruby usando a biblioteca padrão net/http. Tudo é executado localmente no seu navegador via WebAssembly para total privacidade. Se você prefere Python, confira nosso conversor de curl para Python. Para Elixir, veja curl para Elixir. Abaixo estão exemplos práticos de Ruby.

Como copiar o curl do seu navegador

  1. 1

    Abra o DevTools

    Pressione F12 ou Ctrl+Shift+I para abrir as ferramentas de desenvolvedor do seu navegador.

  2. 2

    Vá para a aba Network

    Clique na aba Network e realize a ação que dispara a requisição HTTP.

  3. 3

    Copiar como cURL

    Clique com o botão direito na requisição → CopyCopy as cURL. Depois cole acima.

Perguntas Frequentes

O que é o Ruby net/http?

O net/http do Ruby é o cliente HTTP da biblioteca padrão incluído em todas as instalações do Ruby. Ele lida com GET, POST, uploads multipart, SSL e cabeçalhos personalizados. Nenhuma instalação de gem é necessária. O curl2code também suporta HTTParty, uma gem popular que simplifica padrões HTTP comuns com uma API limpa e declarativa.

net/http vs HTTParty vs Faraday — qual devo usar?

net/http é nativo e livre de dependências — ótimo para tarefas simples e scripts. HTTParty fornece uma DSL limpa com parsing automático de JSON. Faraday oferece middleware, padrões de adaptador e a maior flexibilidade. Para simplicidade de script semelhante, veja nosso conversor de curl para Python ou curl para PHP.

Como lidar com autenticação em Ruby?

Com net/http: request["Authorization"] = "Bearer token". Para autenticação Basic: request.basic_auth("user", "pass"). O HTTParty usa headers: { "Authorization" => "Bearer token" } ou basic_auth: { username: "user", password: "pass" }. O curl2code lida tanto com -u quanto com flags de cabeçalho.

Como enviar dados de formulário multipart em Ruby?

Com net/http, use a gem multipart-post ou construa o corpo multipart manualmente usando Net::HTTP::Post com strings de boundary. O HTTParty simplifica isso com body: { file: File.open("path") }. O curl2code converte flags -F para ambas as variantes de biblioteca.

Como lidar com erros HTTP em Ruby?

Com net/http, verifique response.is_a?(Net::HTTPSuccess) ou use response.value, que lança erro em status não-2xx. O HTTParty retorna um objeto de resposta com os métodos .success? e .code. Para conexões persistentes, capture Errno::ECONNREFUSED e Net::ReadTimeout.

Como fazer requisições HTTP concorrentes em Ruby?

A biblioteca padrão do Ruby é síncrona. Use Thread.new { ... } para concorrência básica ou a gem concurrent-ruby para pools de threads. Para I/O assíncrono, use async-http com a gem Async. O Typhoeus fornece enfileiramento de requisições paralelas. Para suporte assíncrono nativo, veja curl para Elixir.

Como definir timeouts em Ruby?

Com net/http: http.open_timeout = 10 (conexão) e http.read_timeout = 30 (resposta). O HTTParty aceita a opção timeout: 30. Estas mapeiam para --connect-timeout e --max-time do curl. Sempre defina timeouts para evitar requisições pendentes indefinidamente.

Como usar um proxy em Ruby?

Com net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). Ou defina as variáveis de ambiente http_proxy e https_proxy — o Ruby as respeita automaticamente. O HTTParty usa a opção http_proxy: 'http://proxy:8080'. O curl2code converte flags -x para a sintaxe Ruby correta.

Como enviar uma requisição POST com corpo JSON em Ruby?

Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para Ruby usando o curl2code. O código gerado usa Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do net/http.

Como adicionar autorização com token Bearer em Ruby?

Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do net/http com o cabeçalho de autenticação: req['Authorization'] = 'Bearer YOUR_TOKEN'. O curl2code detecta tokens Bearer tanto de flags -H "Authorization: Bearer ..." quanto de --oauth2-bearer. Para Basic auth, use -u user:pass.

Como definir o cabeçalho Content-Type em Ruby?

O curl2code converte curl -H "Content-Type: application/json" URL para o código do net/http com o cabeçalho correto: req['Content-Type'] = 'application/json'. Para dados -d, o curl define por padrão application/x-www-form-urlencoded; para uploads de formulário com -F, ele usa multipart/form-data. O curl2code mapeia cada um para a API correta do net/http.

Links úteis

Guias do curl

Converter curl para outras linguagens