Bagaimana untuk Menggunakan Proksi dengan Pengangkutan Tersuai dalam Go?

Susan Sarandon
Lepaskan: 2024-10-26 05:24:30
asal
667 orang telah melayarinya

How to Use a Proxy with a Custom Transport in Go?

Program Go for Proxy Usage with Custom Transport

Dalam Go, anda boleh mengkonfigurasi http.Client perpustakaan standard untuk menggunakan proksi berasaskan proksi secara automatik pada pembolehubah persekitaran. Walau bagaimanapun, apabila menggunakan pengangkutan tersuai, fungsi ini tidak disokong secara langsung.

Penyelesaiannya ialah menggunakan kaedah http.ProxyFromEnvironment. Kaedah ini mengembalikan URL proksi untuk digunakan untuk permintaan tertentu berdasarkan pembolehubah persekitaran seperti HTTP_PROXY dan HTTPS_PROXY.

Untuk menggunakan proksi dengan pengangkutan tersuai dalam Go, ikut langkah berikut:

  1. Buat contoh http.Transport tersuai:

    <code class="go">tr := &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }</code>
    Salin selepas log masuk
  2. Tetapkan URL proksi menggunakan ProxyFromEnvironment:

    <code class="go">var PTransport = &http.Transport{Proxy: http.ProxyFromEnvironment}</code>
    Salin selepas log masuk
  3. Cipta http.Client dengan pengangkutan tersuai:

    <code class="go">client := http.Client{Transport: PTransport}</code>
    Salin selepas log masuk
  4. Gunakan klien untuk membuat permintaan:

    <code class="go">resp, err := client.Get(url)</code>
    Salin selepas log masuk

Ini kod contoh yang menunjukkan pendekatan ini:

<code class="go">package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    var PTransport = &http.Transport{Proxy: http.ProxyFromEnvironment}

    client := http.Client{Transport: PTransport}
    resp, err := client.Get("https://jsonplaceholder.typicode.com/todos/1")
    if err != nil {
        panic(err)
    }

    bodyBytes, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Printf("GET Response = %s \n", string(bodyBytes))
}</code>
Salin selepas log masuk

Ingat untuk menetapkan pembolehubah persekitaran HTTP_PROXY dan HTTPS_PROXY dengan sewajarnya untuk pelayan proksi anda.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Proksi dengan Pengangkutan Tersuai dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!