以下分别展示API模式、账密认证模式下的Go语言demo示例:
一、API教程demo示例
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
var proxy_server = "http://代理ip:端口"
func main() {
// 设置代理URL
proxyURL, err := url.Parse(proxy_server)
if err != nil {
fmt.Printf("解析代理URL失败: %v\n", err)
return
}
// 创建Transport
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
}
// 创建客户端
client := &http.Client{
Transport: transport,
}
// 发送请求
resp, err := client.Get("http://ipinfo.io")
if err != nil {
fmt.Printf("请求失败: %v\n", err)
return
}
defer resp.Body.Close()
// 读取响应
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("读取响应失败: %v\n", err)
return
}
// 输出结果
fmt.Printf("状态码: %d\n", resp.StatusCode)
fmt.Printf("响应内容:\n%s\n", string(body))
}
二、账密认证教程demo示例
package main import ( "fmt" "io" "net/http" "net/url" ) var proxy_server = "http://代理url:端口" var username = "用户名" var password = "密码" func main() { // 设置代理URL proxyURL, err := url.Parse(proxy_server) if err != nil { fmt.Printf("解析代理URL失败: %v\n", err) return } // 设置代理认证信息 proxyURL.User = url.UserPassword(username, password) // 创建Transport transport := &http.Transport{ Proxy: http.ProxyURL(proxyURL), } // 创建客户端 client := &http.Client{ Transport: transport, } // 发送请求 resp, err := client.Get("http://ipinfo.io") if err != nil { fmt.Printf("请求失败: %v\n", err) return } defer resp.Body.Close() // 读取响应 body, err := io.ReadAll(resp.Body) if err != nil { fmt.Printf("读取响应失败: %v\n", err) return } // 输出结果 fmt.Printf("状态码: %d\n", resp.StatusCode) fmt.Printf("响应内容:\n%s\n", string(body)) }