文档

代理配置

更新时间:

本节主要介绍升级版 SDK 对于代理的配置。

升级版本 SDK 支持代理或者通过 Config 在初始化 Client 阶段设置请求的代理可以设置,升级版 SDK 还支持通过运行时参数配置当前请求的代理优先级:RuntimeOption -> Client > 环境变量:

package main

import (
    "encoding/json"
    "fmt"

    openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
    ecs20140526 "github.com/alibabacloud-go/ecs-20140526/v3/client"
    util "github.com/alibabacloud-go/tea-utils/v2/service"
    "github.com/alibabacloud-go/tea/tea"
)

func main() {
    config := &openapi.Config{
        // 您的AccessKey ID
        AccessKeyId: tea.String("<AccessId>"),
        // 您的AccessKey Secret
        AccessKeySecret: tea.String("<AccessSecret>"),
        // 访问的 Region
        RegionId: tea.String("<RegionId>"),
        // 代理设置
        HttpProxy:  tea.String("http://127.0.0.1:9898"),
        HttpsProxy: tea.String("http://user:password@127.0.0.1:8989"),
        NoProxy:    tea.String("127.0.0.1,localhost"),
    }
    client, _err := ecs20140526.NewClient(config)
    if _err != nil {
        panic(_err)
    }
    describeRegionsRequest := &ecs20140526.DescribeRegionsRequest{}
    // 创建RuntimeObject实例并设置运行参数。
    runtime := &util.RuntimeOptions{}
    // 代理设置
    runtime.HttpProxy = tea.String("http://127.0.0.1:9898")
    runtime.HttpsProxy = tea.String("http://user:password@127.0.0.1:8989")
    runtime.NoProxy = tea.String("127.0.0.1,localhost")
    resp, _err := client.DescribeRegionsWithOptions(describeRegionsRequest, runtime)
    if _err != nil {
        panic(_err)
    }
    // response 包含服务端响应的 body 和 headers
    body, err := json.Marshal(resp.Body)
    if err != nil {
        panic(err)
    }
    fmt.Printf("body: %s\n", string(body))
}
  • 本页导读 (1)
文档反馈