Go को मानक DefaultTransport ले Proxy लाई ProxyFromEnvironment मा सेट गर्छ। अलगै बनाइएको &http.Transport{} मा Proxy फङ्सन nil हुन्छ, जसले कुनै प्रोक्सी चयन गर्दैन।

यो भिन्नता केवल टाइमआउट परिवर्तन गर्न ट्रान्सपोर्ट थपेपछि देखिन सक्छ। मानक डिफल्ट अझै स्थापित भएको अवस्थामा, यसलाई क्लोन गरेर आवश्यक फिल्ड परिवर्तन गर्नुहोस्:

transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second

client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

क्लोनले वातावरण प्रोक्सी चयन र अन्य डिफल्ट ट्रान्सपोर्ट सेटिङहरू जोगाइराख्छ। टाइप असर्सनले अनुप्रयोगले DefaultTransport लाई अर्को RoundTripper ले प्रतिस्थापन नगरेको मान्छ।

जानाजानी शून्यबाट बनाइएको ट्रान्सपोर्टका लागि, जब त्यो यसको राउटिङ नीति हो तब Proxy: http.ProxyFromEnvironment स्पष्ट रूपमा सेट गर्नुहोस्। स्पष्ट ProxyURL फङ्सनले फरक नीति व्यक्त गर्छ: एक चयनित मध्यस्थ।

समवर्ती अनुरोधहरूले प्रयोग गर्नुअघि ट्रान्सपोर्ट कन्फिगर गर्नुहोस्, त्यसपछि कार्यभारका लागि पुनः प्रयोग गर्नुहोस्। साझा डिफल्ट वस्तु परिवर्तन गर्दा असम्बन्धित क्लाइन्टहरू प्रभावित हुन सक्छन्।

अनुकूलित TLS सेटिङहरू छुट्टै हुन्। प्रोक्सी पत्ता लगाउने क्षमता जोगाइराख्न प्रमाणपत्र प्रमाणीकरण बन्द गर्न आवश्यक छैन, र यसले प्रत्येक मिल्ने HTTPS अनुरोधको सुरक्षा परिवर्तन गर्नेछ।

सम्बन्धित लेखहरू