在軟體開發中,代理就像是一個“中間人”,它幫我們控制對某個功能或資源的訪問。使用代理可以實現許可權檢查、記錄動作記錄、快取資料、消極式載入等功能,而不用改動原來的代碼。這樣可以讓程式更安全、運行更快,也更容易維護和擴充。本文將為您介紹V2.0 SDK中代理的配置方法。
代理類型
支援使用HTTP代理和HTTPS代理。
代理類型 | 描述 |
HTTP代理 | 通過參數httpProxy配置Proxy 伺服器地址和連接埠,格式為: |
HTTPS代理 | 通過參數httpsProxy配置Proxy 伺服器地址和連接埠,格式為: |
說明
若Proxy 伺服器要求身份認證才能進行訪問,請在IP地址前添加Proxy 伺服器配置的使用者名稱和密碼,格式為:http://<user>:<password>@<IP地址>:<連接埠>
此外,在配置代理後,也可通過參數noProxy指定無需通過代理訪問的地址清單,多個地址之間用逗號分隔,支援網域名稱和IP地址格式。
代理配置方式
說明
代理配置優先順序:RuntimeOptions配置->Client配置,優先順序依次降低。
通過運行時參數(RuntimeOptions)配置當前請求的代理。
const { RuntimeOptions } = require('@alicloud/tea-util'); const runtime = new RuntimeOptions({ // 設定http代理 httpProxy: "http://xx.xx.xx.xx:8089", // 設定https代理 httpsProxy: "https://xxx.xxx.xxx.xxx:9999", // 設定非Proxy 位址 noProxy: '127.0.0.1,localhost', });import * as $Util from '@alicloud/tea-util'; // 建立RuntimeObject執行個體並設定運行參數。 const runtime = new $Util.RuntimeOptions({ // 設定http代理 httpProxy: "http://xx.xx.xx.xx:8089", // 設定https代理 httpsProxy: "https://xxx.xxx.xxx.xxx:9999", // 設定非Proxy 位址 noProxy: '127.0.0.1,localhost' });通過Config為Client配置全域代理,完成配置後,該Client發起的所有請求均適用此代理設定。
const { Config } = require('@alicloud/openapi-client'); const config = new Config({ // 設定http代理 httpProxy: "http://xx.xx.xx.xx:8089", // 設定https代理 httpsProxy: "https://xxx.xxx.xxx.xxx:9999", // 設定非Proxy 位址 noProxy: '127.0.0.1,localhost', });import * as $OpenApi from '@alicloud/openapi-client'; const config = new $OpenApi.Config({ // 設定http代理 httpProxy: "http://xx.xx.xx.xx:8089", // 設定https代理 httpsProxy: "https://xxx.xxx.xxx.xxx:9999", // 設定非Proxy 位址 noProxy: '127.0.0.1,localhost' });
相關文檔
更多關於代理配置的資訊,請參見HTTP代理配置實踐。