curlలో --preproxy ఎంపిక HTTP లేదా HTTPS proxy చేరే ముందు SOCKS proxyకి కనెక్ట్ అవుతుంది. ఇది ఈ నిర్దిష్ట గొలుసుకు మద్దతిస్తుంది, proxy సర్వర్‌ల ఇష్టానుసార జాబితాకు కాదు.

మార్గం: client → SOCKS endpoint → HTTP proxy → గమ్యస్థానం. కమాండ్‌లోని రెండు పత్రాల ఉదాహరణ endpointలను మార్చండి:

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 proxy చిరునామా, పోర్ట్‌ను చేరగలగాలి. తర్వాత HTTP proxy గమ్యస్థాన అభ్యర్థనను అంగీకరించాలి. రెండో proxy hostname వాడితే మొదటి SOCKS mode ఆ పేరు ఎక్కడ resolve అవుతుందో నిర్ణయిస్తుంది; సంఖ్యాత్మక endpoint ఈ శోధనను తప్పిస్తుంది.

విఫలమైన దశను గుర్తించడం

మొదట ప్రతి endpoint ద్వారా అభ్యర్థనను వేరుగా నిర్ధారించండి; HTTP దశకు సమయ పరిమితి ఉన్న HTTP proxy పరీక్ష వాడండి. రెండూ పనిచేసినా మొదటి proxy రెండోదాన్ని చేరలేక కలిపిన మార్గం విఫలం కావచ్చు.

వివరమైన trace కనెక్షన్ క్రమంలో చదవండి. రెండో proxy చేరేటప్పటి SOCKS వైఫల్యం HTTP proxy వెబ్‌సైట్‌కు CONNECTను అంగీకరించాలా తిరస్కరించాలా అనే నిర్ణయానికి ముందు వస్తుంది. ఏ handshake విఫలమైందో నమోదు చేయండి.

అదనపు దశ ఎప్పుడు ఉపయోగపడుతుంది

అనుమతి ఉన్న HTTP proxyని SOCKS మార్గంలో చేరగలిగితే ఈ అమరిక ఉపయోగపడవచ్చు. అయితే విఫలమయ్యే లేదా ఆలస్యం పెంచే మరో సేవ, నెట్‌వర్క్ మార్గాన్ని కూడా చేర్చుతుంది. బహిరంగ proxy జాబితాలోని endpointలను గొలుసుగా కలపడం విశ్వసనీయత లేదా అనామకతకు హామీ కాదు; కనెక్షన్ నిర్వహించే పక్షాలపై నమ్మకం ఇంకా అవసరం.

--preproxy కోసం curl 7.52.0 లేదా కొత్తది అవసరం; ఇతర అప్లికేషన్‌లు అదే అమరికకు మద్దతివ్వకపోవచ్చు.

సంబంధిత వ్యాసాలు