Convertir curl a PHP

curl2code convierte comandos curl a código PHP utilizando la extensión cURL o la librería Guzzle. La conversión se ejecuta en su navegador a través de WebAssembly para una privacidad total. Para lenguajes similares de servidor, consulte nuestro conversor de curl a Python o curl a Ruby. A continuación se presentan ejemplos prácticos de PHP.

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 PHP cURL?

La extensión curl de PHP es un envoltorio (wrapper) de la biblioteca C libcurl, que proporciona potentes capacidades de cliente HTTP. Admite prácticamente todos los protocolos y funciones que el propio curl admite. Inicializa con curl_init(), establece opciones con curl_setopt() y ejecuta con curl_exec(). curl2code también admite Guzzle y Requests como alternativas.

PHP cURL vs Guzzle vs Requests — ¿cuál debería usar?

PHP cURL es de bajo nivel y está integrado; no se necesita Composer. Guzzle es el cliente HTTP de PHP más popular con soporte PSR-7, middleware y solicitudes asíncronas. Requests ofrece una API simple para tareas rápidas. Usa Guzzle para proyectos modernos, PHP cURL para configuraciones mínimas. Para opciones similares en otros lenguajes, consulta curl a Python.

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

Con cURL: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token']). Para autenticación Basic: curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'). Guzzle usa 'auth' => ['user', 'pass'] o 'headers' => ['Authorization' => 'Bearer token']. curl2code maneja las etiquetas -u y Bearer automáticamente.

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

Con cURL: pasa un array a CURLOPT_POSTFIELDS que contenga new CURLFile('path') para los archivos. Guzzle usa la opción 'multipart' con arrays de campos/archivos. curl2code convierte las etiquetas -F al formato correcto para cada variante de biblioteca de PHP.

¿Cómo manejar errores HTTP en PHP?

Con cURL: comprueba curl_errno($ch) para errores de transporte y analiza el estado de la respuesta manualmente. Guzzle lanza RequestException en caso de fallos; captura ClientException (4xx), ServerException (5xx) y ConnectException (red). Llama siempre a curl_close($ch) para liberar recursos.

¿Cómo hacer solicitudes HTTP asíncronas en PHP?

Guzzle admite asincronía a través de $client->requestAsync('GET', $url) devolviendo una Promise. Usa Promise\Utils::all() para solicitudes concurrentes. Con cURL, usa las funciones curl_multi_* para la ejecución en paralelo. Para un PHP verdaderamente asíncrono, considera los frameworks ReactPHP o Amp con sus clientes HTTP.

¿Cómo establecer tiempos de espera en PHP?

Con cURL: CURLOPT_CONNECTTIMEOUT para la conexión y CURLOPT_TIMEOUT para el tiempo total de la solicitud. Guzzle acepta 'connect_timeout' y 'timeout' en segundos. Estos se asignan directamente a las opciones --connect-timeout y --max-time de curl.

¿Cómo usar un proxy en PHP?

Con cURL: curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080'). Para SOCKS5: añade CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5. Guzzle usa la opción 'proxy' => 'http://proxy:8080'. curl2code convierte las etiquetas -x y --proxy al código PHP correspondiente.

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

Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a PHP usando curl2code. El código generado utiliza curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de cURL.

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

Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de cURL con el encabezado de autorización: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer 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 PHP?

curl2code convierte curl -H "Content-Type: application/json" URL a código de cURL con el encabezado correcto: curl_setopt($ch, CURLOPT_HTTPHEADER, ['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 cURL correcta.

Extensión cURL de PHP vs Guzzle: ¿cuál debería usar?

La extensión cURL de PHP (funciones curl_*) está integrada en PHP y no requiere dependencias adicionales, lo que la hace ideal para solicitudes simples o cuando se busca un consumo mínimo de recursos. Guzzle es un cliente HTTP completo con middleware, solicitudes asíncronas, soporte para PSR-7/PSR-18 y reintentos automáticos. Usa cURL para scripts ligeros y Guzzle para aplicaciones complejas. curl2code genera código para ambos; selecciona tu variante preferida en el menú desplegable de lenguajes.

Enlaces útiles

Guías de curl

Convertir curl a otros lenguajes