ForHosting KIT · Utilidades de desarrollo

Crear un comando curl desde una petición HTTP

Convierta una petición HTTP estructurada en un comando curl listo para pegar en un shell compatible con POSIX.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Indique el método, una URL absoluta, las cabeceras y, si corresponde, un cuerpo de texto. El generador protege cada valor dinámico, incluidos espacios, consultas, signos y apóstrofos, para que el shell no interprete los datos como sintaxis. Resulta útil para depurar API, reproducir peticiones registradas, redactar documentación y entregar a otra persona una petición exacta sin montar las opciones a mano.

Describa la petición que desea reproducir

Empiece por el método HTTP y la URL completa. La URL debe ser absoluta: ha de incluir un esquema como HTTPS y la información necesaria para que curl encuentre el destino sin depender del contexto del navegador ni de una dirección base. Añada las cabeceras como filas ordenadas de nombre y valor cuando necesite autorización, negociación de contenido, trazabilidad, comportamiento condicional o un tipo de contenido declarado. Incluya el cuerpo solo si la petición lo lleva; una cadena vacía representa un cuerpo vacío intencionado, mientras que omitirlo no añade ninguna opción de datos. El comando usa una opción explícita para el método, la URL protegida, una opción por cabecera y datos sin interpretar cuando existe cuerpo. Conserva el orden de las cabeceras para facilitar comparaciones. El generador no envía nada, no resuelve el host, no examina credenciales ni modifica la carga.

Entienda cómo las comillas protegen cada valor

El shell interpreta una línea de órdenes antes de que curl la reciba. Por ello, copiar valores sin proteger puede alterar su significado: un ampersand puede iniciar otro proceso, un signo de dólar activar una expansión, los espacios dividir un argumento y las comillas de JSON convertirse en sintaxis. Este generador encierra cada argumento dinámico entre comillas simples de POSIX. Si el propio valor contiene un apóstrofo, cierra el tramo, inserta el carácter literal mediante un fragmento entre comillas dobles y vuelve a abrirlo. La secuencia parece extraña, pero conserva los bytes exactos en sh, bash, dash y zsh. Cada cabecera se emite como un solo argumento con nombre, dos puntos, espacio y valor. El cuerpo usa la opción de datos sin interpretar para que una arroba inicial no se lea como nombre de archivo. El resultado está pensado para shells POSIX; PowerShell y el Símbolo del sistema de Windows aplican reglas distintas.

Revise el resultado antes de compartirlo o ejecutarlo

El generador rechaza una URL ausente o relativa porque un fragmento como /users/42 resulta ambiguo fuera de la aplicación que aporta la dirección base. También valida que el método sea un token HTTP, comprueba la sintaxis de los nombres de cabecera, exige valores de texto y rechaza saltos de línea. Estas comprobaciones evitan que unas comillas correctas oculten una estructura mal formada, pero no determinan si el servidor admite el método, si la URL corresponde al entorno previsto o si es seguro revelar una credencial. Revise el comando, sobre todo si contiene autorización, cookies de sesión, datos personales o un host de producción. Use credenciales de prueba de corta duración y elimine secretos antes de enviarlo por chat o incluirlo en una incidencia. Como el proceso es determinista, la misma entrada siempre produce el mismo texto, apropiado para instantáneas, documentación, informes reproducibles y revisiones donde deben verse los cambios pequeños.

Reproducir un fallo de API

Convierta método, URL, cabeceras y cuerpo capturado en un comando pegable para depuración local.

Redactar documentación precisa

Genere ejemplos curl coherentes sin escapar manualmente JSON, parámetros de consulta ni cabeceras.

Compartir una petición con su equipo

Entregue un comando determinista que conserve la estructura y permita revisar los cambios.

¿Cuánto cuesta?

La herramienta del navegador es gratuita. La ejecución mediante API cuesta $0.002 por petición.

¿Esta herramienta envía la petición HTTP?

No. Solo genera texto de línea de órdenes y no accede a la red.

¿Por qué la URL debe ser absoluta?

Una URL relativa depende de una dirección base no indicada y no representa por sí sola una petición curl completa.

¿Cómo se tratan los apóstrofos?

Cada apóstrofo cierra el tramo entre comillas simples, se inserta como literal y vuelve a abrir dicho tramo.

¿Puedo usar el resultado en PowerShell?

La salida está diseñada para shells compatibles con POSIX; PowerShell utiliza otras reglas de análisis y comillas.

¿Se eliminan los secretos de las cabeceras?

No. Los valores se conservan exactamente; elimine las credenciales antes de compartir el comando.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev2/curl-command-build

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/dev2/curl-command-build \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"POST","url":"https://api.example.com/v1/widgets?draft=true"}'
{
  "method": "POST",
  "url": "https://api.example.com/v1/widgets?draft=true"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.curl_command_build",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →