Convertir curl a Perl

Convierta comandos curl a código Perl utilizando LWP::UserAgent. curl2code se ejecuta completamente en su navegador a través de WebAssembly; sus datos permanecen privados. Para Python, pruebe nuestro conversor de curl a Python. Para Ruby, vea curl a Ruby. A continuación se muestran ejemplos de Perl listos para usar.

Cómo copiar curl desde su navegador

  1. 1

    Abrir DevTools

    Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.

  2. 2

    Vaya a la pestaña Network

    Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.

  3. 3

    Copiar como cURL

    Haga clic derecho en la solicitud → CopyCopy as cURL. Luego péguelo arriba.

Preguntas frecuentes

¿Qué es Perl LWP?

LWP (Library for WWW in Perl) es la biblioteca de cliente HTTP estándar para Perl. El módulo LWP::UserAgent proporciona un cliente completo con manejo de cookies, redirecciones, soporte de proxy y SSL. Instálalo con cpan LWP o apt install libwww-perl. curl2code utiliza LWP como predeterminado para las conversiones de Perl.

LWP vs HTTP::Tiny vs Mojo::UserAgent — ¿cuál usar?

LWP es rico en funciones y la opción tradicional. HTTP::Tiny es un módulo del núcleo (no necesita instalación) — ideal para solicitudes simples. Mojo::UserAgent es moderno con soporte asíncrono y WebSocket. Para scripts rápidos, usa HTTP::Tiny. Para funciones completas, usa LWP. Para lenguajes de scripting similares, consulta curl a Python o curl a Ruby.

¿Cómo manejar la autenticación en Perl?

Con LWP: $ua->default_header('Authorization' => 'Bearer token'). Para autenticación Basic: $ua->credentials('host:port', 'realm', 'user', 'pass'). O establece encabezados por solicitud en el objeto HTTP::Request. curl2code convierte los flags -u y -H 'Authorization' a la sintaxis de Perl.

¿Cómo enviar datos de formulario multipart en Perl?

Usa HTTP::Request::Common: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). LWP maneja los límites (boundaries) multipart automáticamente. Para campos adicionales, añade pares clave-valor al arreglo Content. curl2code convierte los flags -F a este formato.

¿Cómo manejar errores HTTP en Perl?

Comprueba $response->is_success después de cada solicitud. Para detalles del error: $response->status_line devuelve el código de estado y el mensaje. LWP devuelve un objeto de respuesta incluso en caso de error — comprueba $response->code para el estado HTTP. Usa die o warn para informar de errores.

¿Cómo analizar JSON en Perl?

Usa el módulo JSON: my $data = decode_json($response->content). Para codificar: my $json = encode_json($hashref). Instálalo con cpan JSON. Para Perl 5.14+, considera JSON::PP (módulo del núcleo, sin instalación). Para más herramientas centradas en JSON, consulta curl a Go.

¿Cómo establecer tiempos de espera en Perl LWP?

Establécelo en el UserAgent: my $ua = LWP::UserAgent->new(timeout => 30). Esto establece el tiempo de espera total de la solicitud en segundos. Para el tiempo de espera de conexión específicamente, usa las opciones de IO::Socket::SSL. Los reintentos en LWP no están integrados — impleméntalos manualmente o usa LWP::UserAgent::Determined.

¿Cómo usar un proxy en Perl?

Establécelo en el UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080'). O usa variables de entorno: $ua->env_proxy lee HTTP_PROXY y HTTPS_PROXY. Para excepciones de no-proxy: $ua->no_proxy('localhost', '.internal'). curl2code convierte los flags -x en llamadas de proxy de LWP.

¿Cómo enviar una solicitud POST con un cuerpo JSON en Perl?

Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a Perl usando curl2code. El código generado utiliza $ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de LWP::UserAgent.

¿Cómo añadir autorización con token Bearer en Perl?

Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de LWP::UserAgent con el encabezado de autorización: $req->header('Authorization' => 'Bearer YOUR_TOKEN'). curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.

¿Cómo configurar el encabezado Content-Type en Perl?

curl2code convierte curl -H "Content-Type: application/json" URL a código de LWP::UserAgent con el encabezado correcto: $req->header('Content-Type' => 'application/json'). Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de LWP::UserAgent correcta.

Enlaces útiles

Guías de curl

Convertir curl a otros lenguajes