代理配置
更新时间:
当您面临需借助代理服务器发送请求的场景时,正确配置代理设置显得尤为重要。本文为您详细介绍代理配置方式,确保您的请求能够顺利通过代理服务器进行传输。
代理配置方式
说明
代理配置优先级:Client配置->环境变量配置,优先级依次降低。
通过Client配置代理。
import ( "fmt" "os" "github.com/aliyun/alibaba-cloud-sdk-go/sdk" "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials" ecs "github.com/aliyun/alibaba-cloud-sdk-go/services/ecs" ) func main() { // 配置运行时参数 config := sdk.NewConfig() // 使用RAM用户AccessKeyID和AccessKeySecret credential := credentials.NewAccessKeyCredential(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")) client, err := ecs.NewClientWithOptions("cn-hangzhou", config, credential) if err != nil { panic(err) } // 通过client配置代理 client.SetHttpsProxy("http://user:password@127.0.0.1:8989") // 设置 Https 代理. client.SetHttpProxy("http://127.0.0.1:8080") // 设置 Http 代理 client.SetNoProxy("127.0.0.1,localhost") // 设置代理白名单 // 创建请求 request := ecs.CreateDescribeRegionsRequest() request.Scheme = "https" // 请求参数 request.InstanceChargeType = "PrePaid" // 实例的计费方式 request.ResourceType = "instance" // 资源类型 // 发起请求并获取返回值 response, err := client.DescribeRegions(request) if err != nil { fmt.Print(err.Error()) } fmt.Printf("response is %#v\n", response) }
通过以下环境变量配置代理。
HTTP_PROXY或者http_proxy。变量值格式:http_proxy为http://127.0.0.1:8080
HTTPS_PROXY或者https_proxy。变量值格式:https_proxy为http://<user>:<password>@127.0.0.1:8989
NO_PROXY或者no_proxy。变量值格式:127.0.0.1,localhost。
文档内容是否对您有帮助?