本節主要介紹V1.0 SDK 如何進行網路代理程式配置。
代理類型
支援使用HTTP代理和HTTPS代理。其中,HTTP代理僅適用於HTTP協議的請求,而HTTPS代理則僅適用於HTTPS協議的請求。在配置代理後,對於某些阿里雲產品無需通過代理訪問的情況,也可通過SDK配置不使用代理訪問。
代理配置方式
SDK提供了兩種方式配置代理方式,您可以任選其中一種方式配置:
使用環境變數:
HTTP_PROXY或http_proxy:用於指定HTTPProxy 伺服器地址。HTTPS_PROXY:用於指定HTTPSProxy 伺服器地址。NO_PROXY:用於指定無需通過代理訪問的地址清單,多個地址之間用逗號分隔,支援網域名稱和IP地址格式。
通過代碼配置:使用
com.aliyuncs.http.HttpClientConfig類進行配置。該類提供了以下方法:setHttpProxy():用於指定HTTPProxy 伺服器地址。
setHttpsProxy():用於指定HTTPSProxy 伺服器地址。
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"); // 設定忽略Proxy 位址列表 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部分代碼 }