Qué significa HTTP 000 al probar un proxy con curl
000 no es un estado HTTP enviado por un sitio. Lee el código de salida y el error de curl junto con el campo HTTP que muestra la prueba.
Cuando una prueba con curl muestra 000 como estado HTTP, no ha obtenido un código de respuesta HTTP final que pueda informar. El sitio no ha enviado un estado HTTP real llamado 000.
Captura también el error
Este ejemplo para un shell POSIX imprime el campo HTTP final, el campo CONNECT y el código de salida del proceso curl:
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect}\n' https://example.com/
result=$?
printf 'curl_exit=%s\n' "$result"
Sustituye el punto de conexión del ejemplo por tu proxy HTTP o por un candidato de la lista de proxies HTTP. Mantén show-error activado: el mensaje de error suele ser la parte más útil. El campo CONNECT es pertinente cuando se usa un túnel; no es un segundo estado final del sitio.
Lee los valores en conjunto
- Un fallo al conectar con el proxy puede dejar el campo HTTP en 000.
- Un tiempo de espera agotado antes de recibir una respuesta puede producir lo mismo.
- Una respuesta CONNECT correcta seguida de un fallo de TLS puede mostrar connect=200 y http=000.
- Una respuesta completa del sitio, como 403, es distinta: hay una respuesta HTTP real que examinar.
El código de salida exacto y el mensaje ayudan a acotar la causa. Comprueba si el fallo ocurrió al localizar el proxy, conectar con su puerto, negociar el túnel o verificar el destino.
No reduzcas todos los resultados a comprobar un estado
Un script que solo guarda http_code descarta el error de transporte. Guarda también el resultado del proceso y un mensaje de error sin datos sensibles. A la inversa, curl puede completar una transferencia correctamente aunque el sitio devuelva un estado de error, salvo que uses una opción fail adecuada. La respuesta HTTP y el resultado de ejecución del cliente responden a preguntas distintas.
No intentes corregir 000 desactivando la verificación TLS ni añadiendo una cabecera al azar. Primero determina qué operación no llegó a obtener una respuesta final.