curl පරීක්ෂාවක් HTTP තත්ත්වය ලෙස 000 පෙන්වන විට, වාර්තා කිරීමට අවසාන HTTP ප්‍රතිචාර කේතයක් ලැබී නැත. වෙබ් අඩවිය 000 නම් සැබෑ HTTP තත්ත්වයක් එවා නැත.

දෝෂයත් සටහන් කරගන්න

POSIX shell සඳහා වන මේ උදාහරණය අවසාන 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 නිවැරදි කිරීමට උත්සාහ නොකරන්න. පළමුව අවසාන ප්‍රතිචාරයකට ළඟා නොවූ ක්‍රියාව කුමක්දැයි හඳුනාගන්න.

අදාළ ලිපි