GO语言如何接入代码Demo
本示例演示如何在Go语言中通过账密认证方式配置并使用IPWO代理。
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"os"
)
func main() {
// 设置代理服务器的 URL,包括认证信息(用户名、密码、代理服务器地址和端口)
proxyURL, _ := url.Parse("http://username_custom_zone_US:[email protected]:7878")
// 使用 http.ProxyURL 方法为 HTTP 请求设置代理
proxy := http.ProxyURL(proxyURL)
// 创建一个 HTTP 传输层(Transport),并将代理设置到其中
transport := &http.Transport{
Proxy: proxy, // 设置代理
}
// 创建一个 HTTP 客户端,使用自定义的 Transport(传输层,包含代理设置)
client := &http.Client{
Transport: transport, // 设置客户端使用的传输层
}
// 设置目标 URL,指向我们要访问的 API 地址
targetURL := "http://ipinfo.io" // 用于获取 IP 信息的目标网站
// 通过 HTTP 客户端发送 GET 请求到目标 URL
resp, err := client.Get(targetURL)
if err != nil {
// 如果请求发送失败,打印错误信息并退出程序
fmt.Fprintln(os.Stderr, "Error fetching from", targetURL, ":", err)
os.Exit(1) // 出现错误时退出程序
}
// 在程序退出时关闭响应体,避免资源泄漏
defer resp.Body.Close()
// 读取响应体的内容
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
// 如果读取响应体时发生错误,打印错误信息并退出程序
fmt.Fprintln(os.Stderr, "Error reading response body:", err)
os.Exit(1)
}
// 输出获取的响应内容,通常是 IP 信息的 JSON 数据
fmt.Println(string(body))
}