代理配置
更新时间:
本节主要介绍V1.0 SDK 如何进行网络代理配置。
代理类型
支持使用HTTP代理和HTTPS代理。其中,HTTP代理仅适用于HTTP协议的请求,而HTTPS代理则仅适用于HTTPS协议的请求。在配置代理后,对于某些阿里云产品无需通过代理访问的情况,也可通过SDK配置不使用代理访问。
代理配置方式
SDK提供了两种方式配置代理方式,您可以任选其中一种方式配置:
使用环境变量:
HTTP_PROXY
或http_proxy
:用于指定HTTP代理服务器地址。HTTPS_PROXY
:用于指定HTTPS代理服务器地址。NO_PROXY
:用于指定无需通过代理访问的地址列表,多个地址之间用逗号分隔,支持域名和IP地址格式。
通过代码配置:使用
com.aliyuncs.http.HttpClientConfig
类进行配置。该类提供了以下方法:setHttpProxy():用于指定HTTP代理服务器地址。
setHttpsProxy():用于指定HTTPS代理服务器地址。
setNoProxy():用于指定无需通过代理访问的地址列表,多个地址之间用逗号分隔,支持域名和IP地址格式。
public static void main(String[] args) { com.aliyuncs.http.HttpClientConfig clientConfig = com.aliyuncs.http.HttpClientConfig.getDefault(); // 设置HTTPS代理,需同时设置ProtocolType clientConfig.setHttpsProxy("http://user:password@127.0.0.1:8989"); clientConfig.setProtocolType(com.aliyuncs.http.ProtocolType.HTTPS); // 设置HTTP代理 clientConfig.setHttpProxy("http://127.0.0.1:9898"); // 设置忽略代理地址列表 clientConfig.setNoProxy("ecs-cn-hangzhou.aliyuncs.com,dysmsapi.aliyuncs.com"); com.aliyuncs.profile.DefaultProfile profile = com.aliyuncs.profile.DefaultProfile.getProfile( "<REGION_ID>", // 从环境变量获取RAM用户的AccessKey ID System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), // 从环境变量获取RAM用户的AccessKey Secret System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET") ); profile.setHttpClientConfig(clientConfig); com.aliyuncs.IAcsClient client = new com.aliyuncs.DefaultAcsClient(profile); // 省略调用API部分代码 }
相关参考
该文章对您有帮助吗?