DefaultTransport ស្តង់ដាររបស់ Go កំណត់ Proxy ទៅ ProxyFromEnvironment។ &http.Transport{} ដែលបានសាងសង់ដោយឡែកមានអនុគមន៍ Proxy nil ដែលមិនជ្រើសរើស proxy ណាមួយ។

ភាពខុសគ្នានេះអាចលេចឡើងបន្ទាប់ពីបន្ថែម transport គ្រាន់តែដើម្បីផ្លាស់ប្តូរពេលវេលាកំណត់។ នៅពេលលំនាំដើមស្តង់ដារនៅដំឡើង សូមក្លូនវា ហើយផ្លាស់ប្តូរវាលដែលអ្នកត្រូវការ៖

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

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

ក្លូនរក្សាការជ្រើសរើស proxy ពីបរិស្ថាន និងការកំណត់ transport លំនាំដើមផ្សេងទៀត។ ការផ្ទៀងផ្ទាត់ប្រភេទសន្មតថាកម្មវិធីមិនបានជំនួស DefaultTransport ដោយ RoundTripper ផ្សេង។

សម្រាប់ transport ដែលបានសាងសង់ដោយចេតនាពីសូន្យ សូមកំណត់ Proxy: http.ProxyFromEnvironment យ៉ាងច្បាស់ នៅពេលដែលវាជាគោលនយោបាយនាំផ្លូវរបស់វា។ អនុគមន៍ ProxyURL ច្បាស់លាស់បង្ហាញគោលនយោបាយផ្សេង៖ អន្តរការីមួយដែលបានជ្រើស។

កំណត់ transport មុនពេលសំណើស្របគ្នាប្រើវា បន្ទាប់មកប្រើវាឡើងវិញសម្រាប់បន្ទុកការងារ។ ការផ្លាស់ប្តូរវត្ថុលំនាំដើមដែលចែករំលែកអាចប៉ះពាល់ដល់អតិថិជនដែលមិនពាក់ព័ន្ធ។

ការកំណត់ TLS ផ្ទាល់ខ្លួនដាច់ដោយឡែក។ ការបិទការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រមិនចាំបាច់ដើម្បីរក្សាការស្វែងរក proxy ទេ ហើយវានឹងផ្លាស់ប្តូរសុវត្ថិភាពនៃសំណើ HTTPS ដែលត្រូវគ្នានីមួយៗ។

អត្ថបទពាក់ព័ន្ធ