curl-ന്റെ --preproxy ഓപ്ഷൻ HTTP അല്ലെങ്കിൽ HTTPS പ്രോക്സിയിലെത്തുന്നതിന് മുമ്പ് SOCKS പ്രോക്സിയുമായി ബന്ധപ്പെടുന്നു. അത് ഈ പ്രത്യേക ശൃംഖലയെ പിന്തുണയ്ക്കുന്നു, പ്രോക്സി സെർവറുകളുടെ ഏതെങ്കിലും പട്ടികയെ അല്ല.

വഴി: ക്ലയന്റ് → SOCKS എൻഡ്പോയിന്റ് → HTTP പ്രോക്സി → ലക്ഷ്യം. കമാൻഡിലെ രണ്ടു രേഖാ ഉദാഹരണ എൻഡ്പോയിന്റുകളും മാറ്റുക:

curl --preproxy socks5h://203.0.113.10:1080 --proxy http://203.0.113.20:8080 --noproxy '' --connect-timeout 5 --max-time 20 --verbose https://example.com/

SOCKS സേവനത്തിന് HTTP പ്രോക്സിയുടെ വിലാസത്തിലും പോർട്ടിലും എത്തണം. തുടർന്ന് HTTP പ്രോക്സി ലക്ഷ്യത്തിലേക്കുള്ള അഭ്യർഥന സ്വീകരിക്കണം. രണ്ടാമത്തെ പ്രോക്സിക്ക് ഹോസ്റ്റ്നാമമുണ്ടെങ്കിൽ ആദ്യ SOCKS മോഡ് ആ പേര് എവിടെ പരിഹരിക്കുന്നു എന്നു നിർണയിക്കുന്നു; സംഖ്യാവിലാസമുള്ള എൻഡ്പോയിന്റ് ഈ തിരച്ചിൽ ഒഴിവാക്കുന്നു.

പരാജയപ്പെട്ട ഘട്ടം കണ്ടെത്തൽ

ആദ്യം ഓരോ എൻഡ്പോയിന്റിലൂടെയും പ്രത്യേകം അഭ്യർഥന ഉറപ്പാക്കുക; HTTP ഘട്ടത്തിന് സമയപരിധിയുള്ള HTTP പ്രോക്സി പരിശോധന ഉപയോഗിക്കുക. രണ്ടും പ്രവർത്തിച്ചാലും ആദ്യ പ്രോക്സിക്ക് രണ്ടാമത്തേതിൽ എത്താനാകാത്തതിനാൽ സംയുക്തവഴി പരാജയപ്പെടാം.

വിശദമായ ട്രേസ് കണക്ഷന്റെ ക്രമത്തിൽ വായിക്കുക. രണ്ടാമത്തെ പ്രോക്സിയിൽ എത്തുന്നതിനിടയിലെ SOCKS പരാജയം, വെബ്സൈറ്റിലേക്ക് CONNECT സ്വീകരിക്കണോ നിരസിക്കണോ എന്ന HTTP പ്രോക്സിയുടെ തീരുമാനത്തിനു മുമ്പാണ്. ഏതു ഹാൻഡ്ഷേക്ക് പരാജയപ്പെട്ടു എന്നു രേഖപ്പെടുത്തുക.

അധിക ഘട്ടം എപ്പോൾ സഹായിക്കും

അനുമതിയുള്ള HTTP പ്രോക്സിയെ SOCKS വഴിയിലൂടെ എത്താനാകുമ്പോൾ ഈ ക്രമീകരണം ഉപകാരപ്പെടാം. എന്നാൽ പരാജയപ്പെടാനോ കാലതാമസം കൂട്ടാനോ കഴിയുന്ന മറ്റൊരു സേവനവും നെറ്റ്‌വർക്ക് വഴിയും ഇത് ചേർക്കുന്നു. പൊതു പ്രോക്സി പട്ടികയിലെ എൻഡ്പോയിന്റുകൾ ശൃംഖലയാക്കുന്നത് വിശ്വാസ്യതയോ അജ്ഞാതത്വമോ ഉറപ്പാക്കുന്നില്ല; കണക്ഷൻ കൈകാര്യം ചെയ്യുന്ന കക്ഷികളിൽ വിശ്വാസം ഇനിയും വേണം.

--preproxy-ന് curl 7.52.0 അല്ലെങ്കിൽ പുതിയത് വേണം; മറ്റു ആപ്പുകൾ ഇതേ ക്രമീകരണം പിന്തുണയ്ക്കണമെന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ