Que significa HTTP 000 nunha proba de proxy con curl
000 non é un estado HTTP enviado por un sitio. Le o código de saída e o erro de curl xunto co campo HTTP que amosa a proba.
Cando unha proba con curl amosa 000 como estado HTTP, non obtivo un código de resposta HTTP final que poida indicar. O sitio non enviou un estado HTTP real chamado 000.
Rexistra tamén o erro
Este exemplo para unha shell POSIX imprime o campo HTTP final, o campo CONNECT e o código de saída do 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"
Substitúe o punto de conexión do exemplo polo teu proxy HTTP ou por un candidato da lista de proxys HTTP. Mantén show-error activado: a mensaxe de erro adoita ser a parte máis útil. O campo CONNECT é relevante cando se usa un túnel; non é un segundo estado final do sitio.
Le os valores en conxunto
- Un fallo de conexión co proxy pode deixar o campo HTTP en 000.
- Un tempo de espera esgotado antes de recibir unha resposta pode producir o mesmo resultado.
- Unha resposta CONNECT correcta seguida de un fallo de TLS pode amosar connect=200 e http=000.
- Unha resposta completa do sitio, como 403, é distinta: existe unha resposta HTTP real que examinar.
O código de saída exacto e a mensaxe axudan a acoutar a causa. Comproba se o fallo ocorreu ao localizar o proxy, conectar co seu porto, negociar o túnel ou verificar o destino.
Non reduzas cada resultado a unha comprobación do estado
Un script que só garda http_code descarta o erro de transporte. Garda tamén o resultado do proceso e unha mensaxe de erro sen datos sensibles. Á inversa, curl pode completar unha transferencia correctamente aínda que o sitio devolva un estado de erro, salvo que uses unha opción fail axeitada. A resposta HTTP e o resultado de execución do cliente responden a preguntas diferentes.
Non intentes corrixir 000 desactivando a verificación TLS nin engadindo unha cabeceira ao chou. Primeiro determina que operación non chegou a obter unha resposta final.