En el desarrollo de software, un proxy es un intermediario que controla el acceso a una función o recurso. Con un proxy se implementan funciones como comprobaciones de permisos, registros de operaciones, datos en caché y carga diferida sin modificar el código original. Esto hace que el programa sea más seguro, mejora su rendimiento y facilita su mantenimiento y extensión. En este tema se describe cómo configurar un proxy para el SDK de PHP V2.0.
Tipos de proxy
El SDK es compatible con proxies HTTP y HTTPS.
|
Tipo de proxy |
Descripción |
|
Proxy HTTP |
Establezca el parámetro |
|
Proxy HTTPS |
Establezca el parámetro |
Si el servidor proxy requiere autenticación de identidad, agregue el nombre de usuario y la contraseña antes de la dirección IP. El formato es http://<user>:<password>@<IP address>:<port> o socks5://<user>:<password>@<IP address>:<port>.
Además, después de configurar un proxy, utilice el parámetro noProxy para especificar una lista de direcciones que omiten el proxy. Separe varias direcciones con una coma. Se admiten nombres de dominio y direcciones IP.
Métodos de configuración de proxy
Prioridad de la configuración de proxy, de mayor a menor: primero la configuración de RuntimeOptions y después la configuración de Config.
-
Utilice la clase
AlibabaCloud\Tea\Utils\Utils\RuntimeOptionspara configurar un proxy para la solicitud actual.use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions; // Runtime parameter settings. These settings apply only to requests that use these runtime parameters. $runtime = new RuntimeOptions([ "httpProxy" => "http://127.0.0.1:8080", "httpsProxy" => "https://username:password@proxyServer:port", "noProxy" => "127.0.0.1,localhost" ]); -
Utilice la clase
Darabonba\OpenApi\Models\Configpara configurar un proxy para todas las solicitudes.use Darabonba\OpenApi\Models\Config; $config = new Config([ "protocol" => 'https', // The request protocol determines which proxy parameter to use. `httpsProxy` applies only to HTTPS requests, and `httpProxy` applies only to HTTP requests. // Proxy settings "httpProxy" => "http://127.0.0.1:8080", "httpsProxy" => "https://username:password@proxyServer:port", "noProxy" => "127.0.0.1,localhost" ]);
Referencias
Para obtener más información, consulte HTTP proxy configuration practice.