curl को SOCKS बाट HTTP सम्मको proxy शृङ्खला
curl समर्थित SOCKS–HTTP शृङ्खला मिलाउनुहोस्, endpoint को क्रम पहिचान गर्नुहोस् र जोड्नुअघि प्रत्येक चरण जाँच्नुहोस्।
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 वा नयाँ चाहिन्छ; अन्य एपले उही व्यवस्था समर्थन नगर्न सक्छन्।