本示例演示如何在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))
}

 

常见问题

汇总产品使用中常见技术问题、操作指南及功能说明,提供专业解答,助您快速掌握产品特性并优化使用体验。

查看更多 右箭头
新用户专享
注册领取 500M 免费测试
9000万+纯净高质代理池,助力您实现业务目标!