curl тести HTTP абалы катары 000 чыгарса, билдирүү үчүн акыркы HTTP жооп кодун алган эмес. Сайт 000 деген чыныгы HTTP абалын жөнөткөн жок.

Катаны да жазыңыз

POSIX кабыгы үчүн бул мисал акыркы HTTP талаасын, CONNECT талаасын жана 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"

Мисалдагы туташуу чекитин өзүңүздүн HTTP проксиңизге же HTTP прокси тизмесиндеги талапкерге алмаштырыңыз. show-error күйүп турсун: ката билдирүүсү көп учурда эң пайдалуу бөлүк болот. CONNECT талаасы туннель колдонулганда маанилүү; ал сайттын экинчи акыркы абалы эмес.

Маанилерди чогуу окуңуз

  • Проксиге туташуу ишке ашпаса, HTTP талаасы 000 бойдон калышы мүмкүн.
  • Жооп келгенге чейин күтүү убактысынын бүтүшү да ушундай натыйжа бериши мүмкүн.
  • Ийгиликтүү CONNECT жообунан кийин TLS катасы чыкса, connect=200 жана http=000 көрүнүшү мүмкүн.
  • Сайттын 403 сыяктуу толук жообу башкача: текшерүүгө чыныгы HTTP жообу бар.

Так чыгуу коду жана билдирүү себепти тактоого жардам берет. Ката проксини табууда, анын портуна туташууда, туннелди макулдашууда же көздөгөн жерди текшерүүдө болгонун аныктаңыз.

Ар бир натыйжаны абалды гана текшерүүгө кыскартпаңыз

http_code гана сактаган скрипт транспорт катасын жоготот. Процесстин натыйжасын жана купуя маалыматтардан тазаланган ката билдирүүсүн да сактаңыз. Тескерисинче, ылайыктуу fail параметрин колдонбосоңуз, сайт ката абалын кайтарса да curl өткөрүүнү ийгиликтүү бүтүрүшү мүмкүн. HTTP жообу менен кардардын аткарылуу натыйжасы ар башка суроолорго жооп берет.

TLS текшерүүсүн өчүрүп же туш келди башсап кошуп 000 маанисин оңдоого аракет кылбаңыз. Алгач кайсы аракет акыркы жоопко жетпей калганын аныктаңыз.

Тектеш макалалар