Converter curl para Perl

Converta comandos curl para código Perl usando LWP::UserAgent. O curl2code é executado inteiramente no seu navegador via WebAssembly — seus dados permanecem privados. Para Python, tente nosso conversor de curl para Python. Para Ruby, veja curl para Ruby. Abaixo estão exemplos de Perl prontos para usar.

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 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 gerenciamento de cookies, redirecionamentos, suporte a proxy e SSL. Instale com cpan LWP ou apt install libwww-perl. O curl2code usa LWP como padrão para conversões Perl.

LWP vs HTTP::Tiny vs Mojo::UserAgent — qual usar?

LWP é rico em recursos e a escolha tradicional. HTTP::Tiny é um módulo core (não precisa de instalação) — ótimo para requisições simples. Mojo::UserAgent é moderno com suporte assíncrono e WebSocket. Para scripts rápidos, use HTTP::Tiny. Para recursos completos, use LWP. Para linguagens de script semelhantes, veja curl para Python ou curl para Ruby.

Como lidar com autenticação no 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 requisição no objeto HTTP::Request. O curl2code converte as flags -u e -H 'Authorization' para a sintaxe Perl.

Como enviar dados de formulário multipart no Perl?

Use HTTP::Request::Common: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). O LWP lida com boundaries multipart automaticamente. Para campos adicionais, adicione pares chave-valor ao array Content. O curl2code converte as flags -F para este formato.

Como lidar com erros HTTP no Perl?

Verifique $response->is_success após cada requisição. Para detalhes do erro: $response->status_line retorna o código de status e a mensagem. O LWP retorna um objeto de resposta mesmo em erros — verifique $response->code para o status HTTP. Use die ou warn para relatar erros.

Como analisar JSON no 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, veja curl para Go.

Como definir timeouts no Perl LWP?

Defina no UserAgent: my $ua = LWP::UserAgent->new(timeout => 30). Isso define o timeout geral da requisição em segundos. Para timeout de conexão especificamente, use as opções de IO::Socket::SSL. Retentativas no LWP não são integradas — implemente manualmente ou use LWP::UserAgent::Determined.

Como usar um proxy no Perl?

Defina no UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080'). Ou use variáveis de ambiente: $ua->env_proxyHTTP_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 uma requisição POST com 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 usa $ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do LWP::UserAgent.

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

Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do LWP::UserAgent com o cabeçalho de autenticação: $req->header('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 Perl?

O curl2code converte curl -H "Content-Type: application/json" URL para o código do LWP::UserAgent com o cabeçalho correto: $req->header('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 LWP::UserAgent.

Links úteis

Guias do curl

Converter curl para outras linguagens