Ko nozīmē HTTP 000, pārbaudot starpniekserveri ar curl?
000 nav vietnes nosūtīts HTTP statuss. Lasiet curl izejas kodu un kļūdu kopā ar izvadīto HTTP lauku.
Ja curl pārbaude kā HTTP statusu izvada 000, tā nav saņēmusi galīgo HTTP atbildes kodu, ko varētu parādīt. Vietne nav nosūtījusi īstu HTTP statusu ar nosaukumu 000.
Saglabājiet arī kļūdu
Šis piemērs POSIX čaulai izvada galīgo HTTP lauku, CONNECT lauku un curl procesa izejas kodu:
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"
Aizstājiet piemēra galapunktu ar savu HTTP starpniekserveri vai kandidātu no HTTP starpniekserveru saraksta. Atstājiet show-error ieslēgtu: kļūdas ziņojums bieži ir visnoderīgākā daļa. CONNECT lauks ir svarīgs, ja izmanto tuneli; tas nav otrs galīgais vietnes statuss.
Lasiet vērtības kopā
- Neveiksmīgs savienojums ar starpniekserveri var atstāt HTTP lauku ar vērtību 000.
- Noildze pirms atbildes saņemšanas var radīt to pašu rezultātu.
- Veiksmīga CONNECT atbilde, kurai seko TLS kļūda, var parādīt connect=200 un http=000.
- Pilnīga vietnes atbilde, piemēram, 403, ir cits gadījums: ir īsta HTTP atbilde, ko pārbaudīt.
Precīzais izejas kods un ziņojums sašaurina cēloņa meklēšanu. Noskaidrojiet, vai kļūme radās, meklējot starpniekserveri, savienojoties ar tā portu, vienojoties par tuneli vai pārbaudot galamērķi.
Nesamaziniet katru rezultātu tikai līdz statusa pārbaudei
Skripts, kas saglabā tikai http_code, atmet transporta kļūdu. Saglabājiet arī procesa rezultātu un kļūdas ziņojumu, no kura izņemti sensitīvi dati. Savukārt curl var veiksmīgi pabeigt pārsūtīšanu, lai gan vietne atgriež kļūdas statusu, ja vien neizmantojat piemērotu fail opciju. HTTP atbilde un klienta izpildes rezultāts atbild uz dažādiem jautājumiem.
Nemēģiniet labot 000, izslēdzot TLS pārbaudi vai pievienojot nejaušu galveni. Vispirms nosakiet, kura darbība nesasniedza galīgo atbildi.