Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengkonfigurasi program Go untuk menggunakan proksi tersuai?
Menyesuaikan Penggunaan Proksi dalam Program Go
Untuk mengkonfigurasi program Go secara automatik untuk menggunakan proksi, jenis http.Client menyediakan kaedah ProxyFromEnvironment. Kaedah ini meneliti pembolehubah persekitaran HTTP_PROXY dan HTTPS_PROXY untuk menentukan URL proksi yang sesuai.
Dalam coretan kod yang disediakan:
<code class="go">tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } client := &http.Client{Transport: tr} resp, err := client.Get(url)</code>
pengangkutan yang dibuat tidak mengambil kira tetapan proksi. Untuk mendayakan penggunaan proksi, gunakan kaedah ProxyFromEnvironment:
<code class="go">var PTransport = &http.Transport{ Proxy: http.ProxyFromEnvironment, } client := http.Client{ Transport: PTransport, }</code>
ProxyFromEnvironment mengembalikan URL proksi yang diperoleh daripada pembolehubah persekitaran, mengutamakan HTTPS_PROXY untuk permintaan HTTPS.
Untuk menggunakan proksi tersuai, tentukan pembolehubah persekitaran seperti berikut:
export http_proxy='http://user:password@prox-server:3128' export https_proxy='http://user:password@prox-server:3128' export HTTP_PROXY='http://user:password@prox-server:3128' export HTTPS_PROXY='http://user:password@prox-server:3128'
Sampel kod yang disediakan, yang melaksanakan permintaan GET terhadap API jauh, menunjukkan penyepaduan tetapan proksi yang berjaya:
<code class="go">package main import ( "fmt" "net/http" "io/ioutil" ) func main() { var PTransport = & http.Transport { Proxy: http.ProxyFromEnvironment } client: = http.Client { Transport: PTransport } req, err: = http.NewRequest("GET", "https://jsonplaceholder.typicode.com/todos/1", nil) req.Header.Add("If-None-Match", `some value`) resp, err: = client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() bodyBytes, err: = ioutil.ReadAll(resp.Body) if err != nil { panic(err) } bodyString: = string(bodyBytes) fmt.Printf("GET Response = %s \n", string(bodyString)) }</code>
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi program Go untuk menggunakan proksi tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!