ソフトウェア開発において、プロキシは機能やリソースへのアクセスを制御するミドルウェアです。プロキシを使用すると、元のコードを変更することなく、権限チェック、操作ログ、キャッシュデータ、遅延読み込みなどの機能を実装できます。これにより、プログラムの安全性が高まり、パフォーマンスが向上し、保守と拡張が容易になります。この Topic では、V2.0 PHP SDK のプロキシを設定する方法について説明します。
プロキシのタイプ
SDK は HTTP プロキシと HTTPS プロキシをサポートしています。
プロキシタイプ | 説明 |
HTTP プロキシ |
|
HTTPS プロキシ |
|
プロキシサーバーで身分認証が必要な場合は、IP アドレスの前にユーザー名とパスワードを追加します。フォーマットは http://<user>:<password>@<IP address>:<port> または socks5://<user>:<password>@<IP address>:<port> です。
さらに、プロキシを設定した後、noProxy パラメーターを使用して、プロキシをバイパスするアドレスのリストを指定できます。複数のアドレスはカンマで区切ります。ドメイン名と IP アドレスがサポートされています。
プロキシ設定メソッド
プロキシ設定の優先順位は、高いものから順に、`RuntimeOptions` 設定、`Config` 設定となります。
AlibabaCloud\Tea\Utils\Utils\RuntimeOptionsクラスを使用して、現在のリクエストのプロキシを設定できます。use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions; // 実行時パラメーター設定。 これらの設定は、これらの実行時パラメーターを使用するリクエストにのみ適用されます。 $runtime = new RuntimeOptions([ "httpProxy" => "http://127.0.0.1:8080", "httpsProxy" => "https://username:password@proxyServer:port", "noProxy" => "127.0.0.1,localhost" ]);Darabonba\OpenApi\Models\Configクラスを使用して、すべてのリクエストのプロキシを設定できます。use Darabonba\OpenApi\Models\Config; $config = new Config([ "protocol" => 'https', // リクエストプロトコルによって、使用するプロキシパラメーターが決まります。 `httpsProxy` は HTTPS リクエストにのみ適用され、`httpProxy` は HTTP リクエストにのみ適用されます。 // プロキシ設定 "httpProxy" => "http://127.0.0.1:8080", "httpsProxy" => "https://username:password@proxyServer:port", "noProxy" => "127.0.0.1,localhost" ]);
参考
詳細については、「HTTP プロキシ設定の実践」をご参照ください。