O SDK Go V2.0 oferece suporte a proxies HTTP, HTTPS e SOCKS5. É possível configurar proxies por meio de variáveis de ambiente, Config ou RuntimeOptions.
Tipos de proxy
O SDK é compatível com proxies HTTP, HTTPS e SOCKS5. Utilize apenas um tipo de proxy por vez.
|
Tipo de proxy |
Descrição |
|
Proxy HTTP |
Defina httpProxy com o endereço do proxy no formato |
|
Proxy HTTPS |
Especifique httpsProxy com o endereço do proxy no formato |
|
Proxy SOCKS5 |
Configure socks5Proxy com o endereço do proxy no formato |
Caso o proxy exija autenticação, inclua o nome de usuário e a senha na URL: http://<user>:<password>@<IP address>:<port> ou socks5://<user>:<password>@<IP address>:<port>.
Para proxies HTTP ou HTTPS, utilize noProxy para especificar endereços separados por vírgula (nomes de domínio ou IPs) que devem ignorar o proxy.
Métodos de configuração
Ordem de prioridade (da maior para a menor): RuntimeOptions > Config > variáveis de ambiente.
-
Configure o proxy usando variáveis de ambiente.
NotaO proxy SOCKS5 não suporta configuração via variáveis de ambiente.
HTTP_PROXYouhttp_proxy: endereço do proxy HTTP.HTTPS_PROXYouhttps_proxy: endereço do proxy HTTPS.NO_PROXYouno_proxy: endereços que ignoram o proxy.
-
Configure o proxy em RuntimeOptions. Esta configuração aplica-se apenas às requisições que utilizam esses parâmetros de runtime.
import ( util "github.com/alibabacloud-go/tea-utils/v2/service" openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client" "github.com/alibabacloud-go/tea/tea" ) config := &openapi.Config{ Protocol: tea.String("https"), } runtime := &util.RuntimeOptions{ // Modify the request protocol (Protocol) as needed. httpsProxy is effective only for the HTTPS protocol, and httpProxy is effective only for the HTTP protocol. HttpProxy: tea.String("http://127.0.0.1:9898"), HttpsProxy: tea.String("http://127.0.0.1:8989"), NoProxy: tea.String("127.0.0.1,localhost"), // SOCKS5 proxy // Socks5Proxy: tea.String("socks5://127.0.0.1:8989"), // Socks5NetWork: tea.String("tcp"), } -
Configure o proxy em Config durante a inicialização do cliente. Essa definição vale para todas as requisições.
Exemplo:
import ( openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client" "github.com/alibabacloud-go/tea/tea" ) config := &openapi.Config{ // httpsProxy is effective only for the HTTPS protocol, and httpProxy is effective only for the HTTP protocol. Protocol: tea.String("https"), // HTTP proxy HttpProxy: tea.String("http://127.0.0.1:9898"), // HTTPS proxy HttpsProxy: tea.String("http://127.0.0.1:8989"), NoProxy: tea.String("127.0.0.1,localhost"), // SOCKS5 proxy // Socks5Proxy: tea.String("socks5://127.0.0.1:8989"), // Socks5NetWork: tea.String("tcp"), }