Când un test curl afișează 000 drept stare HTTP, nu a obținut un cod final de răspuns HTTP pe care să îl raporteze. Site-ul nu a trimis un cod HTTP real numit 000.

Înregistrează și eroarea

Acest exemplu pentru un shell POSIX afișează câmpul HTTP final, câmpul CONNECT și codul de ieșire al procesului 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"

Înlocuiește punctul de conectare din exemplu cu proxy-ul tău HTTP sau cu un candidat din lista de proxy-uri HTTP. Păstrează show-error activat: mesajul de eroare este adesea partea cea mai utilă. Câmpul CONNECT este relevant când se folosește un tunel; nu este un al doilea cod final al site-ului.

Citește valorile împreună

Codul de ieșire exact și mesajul restrâng cauzele posibile. Verifică dacă eroarea a apărut la localizarea proxy-ului, la conectarea la portul său, la negocierea tunelului sau la verificarea destinației.

Nu reduce fiecare rezultat la o simplă verificare a codului HTTP

Un script care salvează doar http_code pierde eroarea de transport. Salvează și rezultatul procesului, împreună cu un mesaj de eroare curățat de date sensibile. Invers, curl poate încheia cu succes un transfer deși site-ul returnează un cod de eroare, dacă nu folosești o opțiune fail adecvată. Răspunsul HTTP și rezultatul executării clientului răspund la întrebări diferite.

Nu încerca să repari 000 dezactivând verificarea TLS sau adăugând un antet la întâmplare. Stabilește mai întâi ce operație nu a ajuns la un răspuns final.

Articole similare