Converter curl para Perl
Converta comandos curl para código Perl utilizando LWP::UserAgent. O curl2code é executado inteiramente no seu navegador através de WebAssembly — os seus dados permanecem privados. Para Python, experimente o nosso conversor de curl para Python. Para Ruby, veja curl para Ruby. Abaixo encontram-se exemplos de Perl prontos a usar.
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 Perl LWP?
LWP (Library for WWW in Perl) é a biblioteca de cliente HTTP padrão para Perl. O módulo LWP::UserAgent fornece um cliente completo com gestão de cookies, redirecionamentos, suporte para proxy e SSL. Instale com cpan LWP ou apt install libwww-perl. O curl2code utiliza LWP como padrão para conversões Perl.
LWP vs HTTP::Tiny vs Mojo::UserAgent — qual usar?
LWP é rico em funcionalidades e a escolha tradicional. HTTP::Tiny é um módulo core (não necessita de instalação) — excelente para pedidos simples. Mojo::UserAgent é moderno com suporte assíncrono e WebSocket. Para scripts rápidos, use HTTP::Tiny. Para funcionalidades completas, use LWP. Para linguagens de script semelhantes, consulte curl para Python ou curl para Ruby.
Como gerir a autenticação em Perl?
Com LWP: $ua->default_header('Authorization' => 'Bearer token'). Para autenticação Basic: $ua->credentials('host:port', 'realm', 'user', 'pass'). Ou defina cabeçalhos por pedido no objeto HTTP::Request. O curl2code converte as flags -u e -H 'Authorization' para a sintaxe Perl.
Como enviar dados de formulário multipart em Perl?
Use HTTP::Request::Common: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). O LWP gere as boundaries multipart automaticamente. Para campos adicionais, adicione pares chave-valor ao array Content. O curl2code converte as flags -F para este formato.
Como gerir erros HTTP em Perl?
Verifique $response->is_success após cada pedido. Para detalhes do erro: $response->status_line devolve o código de estado e a mensagem. O LWP devolve um objeto de resposta mesmo em caso de erro — verifique $response->code para o estado HTTP. Use die ou warn para reportar erros.
Como analisar JSON em Perl?
Use o módulo JSON: my $data = decode_json($response->content). Para codificação: my $json = encode_json($hashref). Instale com cpan JSON. Para Perl 5.14+, considere JSON::PP (módulo core, sem instalação). Para mais ferramentas focadas em JSON, consulte curl para Go.
Como definir timeouts no Perl LWP?
Defina no UserAgent: my $ua = LWP::UserAgent->new(timeout => 30). Isto define o timeout geral do pedido em segundos. Para o timeout de ligação especificamente, use as opções de IO::Socket::SSL. As repetições no LWP não são nativas — implemente manualmente ou use LWP::UserAgent::Determined.
Como usar um proxy em Perl?
Defina no UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080'). Ou use variáveis de ambiente: $ua->env_proxy lê HTTP_PROXY e HTTPS_PROXY. Para exceções de no-proxy: $ua->no_proxy('localhost', '.internal'). O curl2code converte as flags -x para chamadas de proxy LWP.
Como enviar um pedido POST com um corpo JSON em Perl?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para Perl usando o curl2code. O código gerado utiliza $ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código LWP::UserAgent.
Como adicionar autorização com token Bearer em Perl?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código LWP::UserAgent com o cabeçalho de autenticação: $req->header('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 Perl?
O curl2code converte curl -H "Content-Type: application/json" URL para código LWP::UserAgent com o cabeçalho correto: $req->header('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 LWP::UserAgent 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.