Mitä HTTP 000 tarkoittaa curlin välityspalvelintestissä?
000 ei ole sivuston lähettämä HTTP-tila. Lue curlin paluuarvo ja virheilmoitus yhdessä tulostetun HTTP-kentän kanssa.
Kun curl-testi tulostaa HTTP-tilaksi 000, se ei ole saanut lopullista HTTP-vastauskoodia raportoitavaksi. Sivusto ei lähettänyt oikeaa HTTP-tilaa nimeltä 000.
Tallenna myös virhe
Tämä POSIX-komentotulkin esimerkki tulostaa lopullisen HTTP-kentän, CONNECT-kentän ja curl-prosessin paluuarvon:
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"
Korvaa esimerkin päätepiste omalla HTTP-välityspalvelimellasi tai HTTP-välityspalvelinluettelon ehdokkaalla. Pidä show-error käytössä: virheilmoitus on usein hyödyllisin osa. CONNECT-kenttä on olennainen tunnelia käytettäessä; se ei ole sivuston toinen lopullinen tilakoodi.
Lue arvot yhdessä
- Epäonnistunut yhteys välityspalvelimeen voi jättää HTTP-kentän arvoon 000.
- Aikakatkaisu ennen vastauksen vastaanottamista voi aiheuttaa saman.
- Onnistunutta CONNECT-vastausta seuraava TLS-virhe voi tuottaa arvot connect=200 ja http=000.
- Valmis sivuston vastaus, kuten 403, on eri asia: silloin tutkittavana on oikea HTTP-vastaus.
Tarkka paluuarvo ja ilmoitus rajaavat syytä. Tarkista, tapahtuiko virhe välityspalvelinta etsittäessä, sen porttiin yhdistettäessä, tunnelia neuvoteltaessa vai kohdetta varmennettaessa.
Älä pelkistä jokaista tulosta tilakoodin tarkistukseksi
Vain http_code-kentän tallentava komentosarja hukkaa siirtovirheen. Tallenna myös prosessin tulos ja virheilmoitus, josta arkaluonteiset tiedot on poistettu. Toisaalta curl voi suorittaa siirron onnistuneesti, vaikka sivusto palauttaisi virhetilan, ellet käytä sopivaa fail-valitsinta. HTTP-vastaus ja asiakasohjelman suoritustulos vastaavat eri kysymyksiin.
Älä yritä korjata arvoa 000 poistamalla TLS-varmennusta käytöstä tai lisäämällä satunnaista otsaketta. Selvitä ensin, mikä toiminto ei koskaan päässyt lopulliseen vastaukseen asti.