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 किंवा नवीन आवृत्ती हवी; इतर ॲप हीच रचना समर्थित करतील असे नाही.

संबंधित लेख