Mit jelent a HTTP 000 egy curl-proxytesztben?
A 000 nem a webhely által küldött HTTP-állapot. A curl kilépési kódját és hibaüzenetét a kiírt HTTP-mezővel együtt értelmezd.
Ha egy curl-teszt HTTP-állapotként 000 értéket ír ki, akkor nem kapott jelenthető végleges HTTP-válaszkódot. A webhely nem küldött 000 nevű valódi HTTP-állapotot.
A hibát is rögzítsd
Ez a POSIX-parancsértelmezőhöz készült példa kiírja a végleges HTTP-mezőt, a CONNECT-mezőt és a curl-folyamat kilépési kódját:
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"
Cseréld le a példában szereplő végpontot a saját HTTP-proxydra vagy a HTTP-proxylistából választott címre. Hagyd bekapcsolva a show-error beállítást: gyakran a hibaüzenet a leghasznosabb rész. A CONNECT-mező alagút használatakor releváns; nem a webhely második végleges állapota.
Együtt olvasd az értékeket
- Ha nem sikerül kapcsolódni a proxyhoz, a HTTP-mező 000 maradhat.
- A válasz megérkezése előtti időtúllépés ugyanezt okozhatja.
- Sikeres CONNECT-válasz után bekövetkező TLS-hiba esetén connect=200 és http=000 jelenhet meg.
- A webhely teljes válasza, például a 403, más helyzet: van tényleges HTTP-válasz, amelyet meg lehet vizsgálni.
A pontos kilépési kód és az üzenet szűkíti a lehetséges okokat. Nézd meg, hogy a hiba a proxy megkeresésekor, a portjához kapcsolódáskor, az alagút egyeztetésekor vagy a cél ellenőrzésekor történt-e.
Ne szűkíts minden eredményt puszta állapotellenőrzésre
Az a szkript, amely csak a http_code értékét menti, eldobja az átviteli hibát. Mentsd el a folyamat eredményét és egy érzékeny adatoktól megtisztított hibaüzenetet is. Fordítva is igaz: a curl sikeresen befejezhet egy átvitelt akkor is, ha a webhely hibás állapotot küld, hacsak nem használsz megfelelő fail kapcsolót. A HTTP-válasz és a kliens végrehajtási eredménye eltérő kérdésekre válaszol.
Ne a TLS-ellenőrzés kikapcsolásával vagy egy véletlenszerű fejléc hozzáadásával próbáld javítani a 000 értéket. Először állapítsd meg, melyik művelet nem jutott el végleges válaszig.