Converter curl para Ruby
O curl2code converte comandos curl para código Ruby utilizando a biblioteca padrão net/http. Tudo é executado localmente no seu navegador através de WebAssembly para total privacidade. Se preferir Python, consulte o nosso conversor de curl para Python. Para Elixir, veja curl para Elixir. Abaixo encontram-se exemplos práticos de Ruby.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é o net/http do Ruby?
O net/http do Ruby é o cliente HTTP da biblioteca padrão incluído em todas as instalações do Ruby. Gere GET, POST, uploads multipart, SSL e cabeçalhos personalizados. Não é necessária a instalação de gems. O curl2code também suporta o 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?
O net/http é integrado e livre de dependências — ótimo para tarefas simples e scripts. O HTTParty fornece um DSL limpo com análise automática de JSON. O Faraday oferece middleware, padrões de adaptador e a maior flexibilidade. Para simplicidade de scripting semelhante, consulte o nosso conversor de curl para Python ou curl para PHP.
Como gerir a 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 gere tanto o -u como as 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 limite. O HTTParty simplifica isto com body: { file: File.open("path") }. O curl2code converte as flags -F para ambas as variantes de biblioteca.
Como gerir erros HTTP em Ruby?
Com net/http, verifique response.is_a?(Net::HTTPSuccess) ou use response.value que lança exceção em estados não-2xx. O HTTParty devolve um objeto de resposta com os métodos .success? e .code. Para ligações persistentes, capture Errno::ECONNREFUSED e Net::ReadTimeout.
Como fazer pedidos 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 pedidos paralelos. Para suporte assíncrono integrado, consulte curl para Elixir.
Como definir timeouts em Ruby?
Com net/http: http.open_timeout = 10 (ligação) e http.read_timeout = 30 (resposta). O HTTParty aceita a opção timeout: 30. Estas mapeiam para as flags --connect-timeout e --max-time do curl. Defina sempre timeouts para evitar pedidos 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 respeita-as automaticamente. O HTTParty usa a opção http_proxy: 'http://proxy:8080'. O curl2code converte as flags -x para a sintaxe Ruby correta.
Como enviar um pedido POST com um 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 utiliza Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código net/http.
Como adicionar autorização com token Bearer em Ruby?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código net/http com o cabeçalho de autenticação: req['Authorization'] = 'Bearer YOUR_TOKEN'. O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em Ruby?
O curl2code converte curl -H "Content-Type: application/json" URL para código net/http com o cabeçalho correto: req['Content-Type'] = 'application/json'. Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API net/http correta.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.