Go-н стандарт DefaultTransport нь Proxy-г ProxyFromEnvironment-д тавьдаг. Тусдаа бүтээсэн &http.Transport{} нь nil Proxy функцтэй тул ямар ч прокси сонгодоггүй.

Энэ ялгаа нь зөвхөн хугацааны хязгаар солихын тулд тээвэр нэмсний дараа гарч болно. Стандарт өгөгдмөл суулгагдсан хэвээр байвал түүнийг хуулбарлаж, шаардлагатай талбарыг өөрчил:

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 хүсэлтийн аюулгүй байдлыг өөрчлөх байсан.

Холбоотой нийтлэлүүд