跳轉到主要內容
在多帳號管理、流量分發、自動化任務與資料採集等高頻網路操作場景中,安全穩定的代理連線是確保操作順利的核心基礎。特別是當平台需要驗證代理使用權限時,帳號密碼型代理(Username/Password Auth Proxy)成為最常見也最靈活的驗證方式之一。 與 IP 白名單方式相比,帳密型代理具備以下優勢:
  • 支援跨設備、跨地區快速部署
  • 不依賴固定出口 IP,可大規模彈性使用
  • 更適合與自動化系統或帳號指派流程集成
  • 可與市售代理服務或自建代理池快速串接

📚 適用對象

本篇教學將指導你如何以 帳號密碼方式對接代理伺服器,並成功綁定至我們系統中的指紋環境,實現匿名、安全、可控的多帳號操作流程。 本教學適合:
  • 技術開發者(需從程式中調用代理連線)
  • 自動化操盤團隊(自建養號 / 任務腳本)
  • 代理服務商(需要與指紋環境整合)
  • 系統整合商(需將我們系統嵌入業務流程)

🧪 實作內容

為了讓不同技術背景的用戶都能快速上手,本教學將提供多種語言版本的代碼示例,包括:
  • ✅ Python
  • ✅ Node.js
  • ✅ Shell / curl
  • ✅ (如有需要可延伸:Go、PHP、Selenium、Playwright 等)

🧩 代码演示

demo.go
package main

import (
    "context"
    "fmt"
    "io/ioutil"
    "net"
    "net/http"
    "net/url"
    "strings"
    "time"

    "golang.org/x/net/proxy"
)

var account = "xx"
var password = "xx"

var proxyServer = "xx"

var testApi = "https://ipinfo.io/"

func main() {
    go httpProxy(proxyServer, account, password)
    go Socks5Proxy(proxyServer, account, password)

    time.Sleep(time.Minute)
}

func httpProxy(proxyUrl, user, pass string) {
    defer func() {
        if err: = recover();
        err != nil {
            fmt.Println(time.Now().Format("2006-01-02 15:04:05 07"), "http", "response:", err)
        }
    }()
    urli: = url.URL {}

    if !strings.Contains(proxyUrl, "http") {
        proxyUrl = fmt.Sprintf("http://%s", proxyUrl)
    }

    urlProxy, _: = urli.Parse(proxyUrl)
    if user != "" && pass != "" {
        urlProxy.User = url.UserPassword(user, pass)
    }

    client: = & http.Client {
        Transport: & http.Transport {
            Proxy: http.ProxyURL(urlProxy),
        },
    }
    rqt, err: = http.NewRequest("GET", testApi, nil)
    if err != nil {
        panic(err)
        return
    }
    response, err: = client.Do(rqt)
    if err != nil {
        panic(err)
        return
    }

    defer response.Body.Close()
    body, _: = ioutil.ReadAll(response.Body)
    fmt.Println(time.Now().Format("2006-01-02 15:04:05 07"), proxyUrl, "【http success】", "response:", response.Status, string(body))

    return
}

func Socks5Proxy(proxyUrl, user, pass string) {

    defer func() {
        if err: = recover();
        err != nil {
            fmt.Println(time.Now().Format("2006-01-02 15:04:05 07"), proxyUrl, "response:", err)
        }
    }()

    var userAuth proxy.Auth
    if user != "" && pass != "" {
        userAuth.User = user
        userAuth.Password = pass
    }
    dialer, err: = proxy.SOCKS5("tcp", proxyUrl, & userAuth, proxy.Direct)
    if err != nil {
        panic(err)
    }
    httpClient: = & http.Client {
        Transport: & http.Transport {
            DialContext: func(ctx context.Context, network, addr string)(conn net.Conn, err error) {
                return dialer.Dial(network, addr)
            },
        },
        Timeout: time.Second * 10,
    }

    if resp, err: = httpClient.Get(testApi);
    err != nil {
        panic(err)
    } else {
        defer resp.Body.Close()
        body, _: = ioutil.ReadAll(resp.Body)
        fmt.Println(time.Now().Format("2006-01-02 15:04:05 07"), proxyUrl, "【socks5 success】", "response:", string(body))
    }
} 
接下來,你可以根據自己的開發語言,選擇相應區塊快速開始對接。