全部产品
Search
文档中心

Alibaba Cloud SDK:Konfigurasi proxy

更新时间:Nov 10, 2025

Dalam pengembangan perangkat lunak, proxy berfungsi sebagai perantara untuk mengontrol akses ke suatu fitur atau sumber daya. Anda dapat memanfaatkan proxy untuk menerapkan fitur seperti pemeriksaan izin, pencatatan operasi, caching data, dan pemuatan malas tanpa mengubah kode aslinya. Pendekatan ini membuat program Anda lebih aman, lebih cepat, serta lebih mudah dipelihara dan dikembangkan. Topik ini menjelaskan cara mengonfigurasi proxy untuk Go SDK V2.0.

Jenis proxy

Anda dapat mengonfigurasi proxy HTTP, HTTPS, atau SOCKS5. Kami menyarankan agar Anda hanya menggunakan satu jenis proxy dalam aplikasi Anda.

Jenis proxy

Deskripsi

HTTP proxy

Gunakan parameter httpProxy untuk mengonfigurasi alamat dan port server proxy. Formatnya adalah http://<alamat IP>:<port>. Pengaturan ini hanya berlaku untuk permintaan HTTP.

HTTPS proxy

Gunakan parameter httpsProxy untuk mengonfigurasi alamat dan port server proxy. Formatnya adalah http://<alamat IP>:<port>. Pengaturan ini hanya berlaku untuk permintaan HTTPS.

SOCKS5 proxy

Untuk menggunakan proxy SOCKS5, atur kedua parameter socks5Proxy dan Socks5NetWork. Gunakan socks5Proxy untuk mengonfigurasi alamat dan port server proxy dalam format socks5://<alamat IP>:<port>. Gunakan Socks5NetWork untuk menentukan protokol transport, seperti TCP atau UDP.

Catatan

Jika server proxy memerlukan otentikasi identitas, tambahkan nama pengguna dan kata sandi sebelum alamat IP. Formatnya adalah http://<pengguna>:<kata sandi>@<alamat IP>:<port> atau socks5://<pengguna>:<kata sandi>@<alamat IP>:<port>.

Saat menggunakan proxy HTTP atau HTTPS, Anda dapat menggunakan parameter noProxy untuk menentukan daftar alamat yang melewati proxy. Pisahkan beberapa alamat dengan koma. Anda dapat menggunakan nama domain maupun alamat IP.

Metode konfigurasi proxy

Catatan

Konfigurasi proxy diprioritaskan dalam urutan berikut, dari tertinggi ke terendah: konfigurasi RuntimeOptions, konfigurasi Config, dan konfigurasi variabel lingkungan.

  • Konfigurasikan proxy menggunakan variabel lingkungan.

    Catatan

    Variabel lingkungan tidak didukung untuk parameter konfigurasi proxy SOCKS5.

    • Gunakan variabel lingkungan HTTP_PROXY atau http_proxy untuk menentukan alamat server proxy.

    • Gunakan variabel lingkungan HTTPS_PROXY atau https_proxy untuk menentukan alamat server proxy.

    • Gunakan variabel lingkungan NO_PROXY atau no_proxy untuk menentukan daftar alamat yang melewati proxy.

  • Konfigurasikan proxy melalui parameter waktu proses (RuntimeOptions). Konfigurasi ini hanya berlaku untuk permintaan yang menggunakan parameter tersebut.

    import (
        util "github.com/alibabacloud-go/tea-utils/v2/service"
        openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        "github.com/alibabacloud-go/tea/tea"
    )
    
    config := &openapi.Config{
        Protocol: tea.String("https"),
    }
    
    runtime := &util.RuntimeOptions{
        // Ubah protokol permintaan (Protocol) sesuai kebutuhan. httpsProxy hanya berlaku untuk protokol HTTPS, dan httpProxy hanya berlaku untuk protokol HTTP.
        HttpProxy:  tea.String("http://127.0.0.1:9898"),
        HttpsProxy: tea.String("http://127.0.0.1:8989"),
        
        NoProxy:    tea.String("127.0.0.1,localhost"),
    
        // SOCKS5 proxy
        // Socks5Proxy:   tea.String("socks5://127.0.0.1:8989"),
        // Socks5NetWork: tea.String("tcp"), 
    }
    
  • Konfigurasikan proxy dalam Config saat menginisialisasi instans klien untuk suatu Produk Alibaba Cloud. Konfigurasi ini berlaku untuk semua permintaan.

    Kode berikut memberikan contohnya:

    import (
        openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        "github.com/alibabacloud-go/tea/tea"
    )
    
    config := &openapi.Config{
        // httpsProxy hanya berlaku untuk protokol HTTPS, dan httpProxy hanya berlaku untuk protokol HTTP.
        Protocol: tea.String("https"),
    
        // HTTP proxy
        HttpProxy:  tea.String("http://127.0.0.1:9898"),
        // HTTPS proxy
        HttpsProxy: tea.String("http://127.0.0.1:8989"),
        
        NoProxy:    tea.String("127.0.0.1,localhost"),
    
        // SOCKS5 proxy
        // Socks5Proxy:   tea.String("socks5://127.0.0.1:8989"),
        // Socks5NetWork: tea.String("tcp"),
    }
    

Referensi

Untuk informasi selengkapnya, lihat Praktik konfigurasi proxy HTTP.