Go نىڭ HTTP يۆتكىگۈچىنى ئىختىلاشتۇرغاندا ProxyFromEnvironment نى ساقلاڭ
يۆتكىگۈچنىڭ ۋاقىت چېكى ياكى ئۇلىنىش كۆلچىكىنى ئىختىلاشتۇرغاندا Go نىڭ مۇھىت proxy تاللىشىنى ساقلاڭ، كۆڭۈلدىكىنى قۇرۇق Proxy رايونى بىلەن ئالماشتۇرۇشنىڭ ئورنىغا.
Go نىڭ ئۆلچەملىك DefaultTransport ى Proxy نى ProxyFromEnvironment غا تەڭشەيدۇ. ئايرىم قۇرۇلغان &http.Transport{} نىڭ Proxy فۇنكسىيەسى nil بولغاچقا ھېچقانداق proxy تاللىمايدۇ.
بۇ پەرق پەقەت ۋاقىت چېكىنى ئۆزگەرتىش ئۈچۈن يۆتكىگۈچ قوشقاندىن كېيىن كۆرۈلۈشى مۇمكىن. ئۆلچەملىك كۆڭۈلدىكى تېخى قوزغىتىلغان بولسا، ئۇنى clone قىلىپ كېرەكلىك رايوننى ئۆزگەرتىڭ:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}clone مۇھىت proxy تاللىشىنى ۋە باشقا كۆڭۈلدىكى يۆتكىگۈچ تەڭشەكلىرىنى ساقلايدۇ. تىپ دەلىللەش ئەپنىڭ DefaultTransport نى باشقا RoundTripper بىلەن ئالماشتۇرمىغانلىقىنى پەرەز قىلىدۇ.
قەستەن نۆلدىن قۇرۇلغان يۆتكىگۈچ ئۈچۈن، ئەگەر بۇ ئۇنىڭ يول باشلاش سىياسىتى بولسا Proxy: http.ProxyFromEnvironment نى ئوچۇق تەڭشەڭ. ئوچۇق ProxyURL فۇنكسىيەسى باشقا سىياسەتنى ئىپادىلەيدۇ: تاللانغان بىر ۋاسىتىچى.
يۆتكىگۈچنى قاتارلىق تەلەپلەر ئىشلىتىشتىن بۇرۇن سەپلەڭ، ئاندىن ئىش يۈكى ئۈچۈن قايتا ئىشلىتىڭ. ئورتاق كۆڭۈلدىكى ئوبيېكتنى ئۆزگەرتىش مۇناسىۋەتسىز خېرىدارلارغا تەسىر كۆرسىتىشى مۇمكىن.
ئىختىيارىي TLS تەڭشەكلىرى ئايرىم. proxy بايقاشنى ساقلاش ئۈچۈن گۇۋاھنامە دەلىللەشنى ئېتىۋېتىش زۆرۈر ئەمەس، ئۇ ھەر ماس كېلىدىغان HTTPS تەلەپنىڭ بىخەتەرلىكىنى ئۆزگەرتىۋېتىدۇ.