このトピックでは、PHP V1.0 SDK でプロキシを設定する方法について説明します。
説明
プロキシを設定するためのメソッドの優先順位は、リクエストの開始、クライアントの使用、環境変数の設定の順に降順で示されています。
リクエストを開始してプロキシを設定します。
<?php require_once 'vendor/autoload.php'; use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; use AlibabaCloud\Ecs\Ecs; try { // ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認します。 AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET')); $request = Ecs::v20140526()->describeRegions(); $result = $request ->version('2014-05-26') ->product('Ecs') ->action('DescribeRegions') ->regionId('cn-hangzhou') ->host("ecs.cn-hangzhou.aliyuncs.com") ->scheme("http") // proxy パラメーターを https に設定する場合は、scheme パラメーターを https に設定します。proxy パラメーターを http または no に設定する場合は、scheme を http に設定します。そうでない場合、プロキシは有効になりません。 ->options([ 'proxy' => [ 'http' => 'http://localhost:8080', // このプロキシを "http" で使用します // 'https' => 'http://localhost:9124', // このプロキシを "https" で使用します // 'no' => ['example.com'] // これらではプロキシを使用しません ] ]) ->request(); print_r($result->toArray()); } catch (ClientException $exception) { // 実際のビジネスシナリオでは例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、情報は参照用にのみ表示されます。 echo $exception->getMessage() . PHP_EOL; } catch (ServerException $exception) { // 実際のビジネスシナリオでは例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、情報は参照用にのみ表示されます。 echo $exception->getMessage() . PHP_EOL; echo $exception->getErrorCode() . PHP_EOL; echo $exception->getRequestId() . PHP_EOL; echo $exception->getErrorMessage() . PHP_EOL; }クライアントを使用してプロキシを設定します。
<?php require_once 'vendor/autoload.php'; use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; use AlibabaCloud\Ecs\Ecs; try { // ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認します。 AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET')) ->asDefaultClient() ->options([ 'proxy' => [ 'http' => 'http://localhost:8080', // このプロキシを "http" で使用します // 'https' => 'http://localhost:9124', // このプロキシを "https" で使用します // 'no' => ['localhost'] // これらではプロキシを使用しません ] ]); $request = Ecs::v20140526()->describeRegions(); $result = $request ->version('2014-05-26') ->product('Ecs') ->action('DescribeRegions') ->regionId('cn-hangzhou') ->host("ecs.cn-hangzhou.aliyuncs.com") ->scheme("http") // proxy パラメーターを https に設定する場合は、scheme パラメーターを https に設定します。proxy パラメーターを http または no に設定する場合は、scheme を http に設定します。そうでない場合、プロキシは有効になりません。 ->request(); print_r($result->toArray()); } catch (ClientException $exception) { // 実際のビジネスシナリオでは例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、情報は参照用にのみ表示されます。 echo $exception->getMessage() . PHP_EOL; } catch (ServerException $exception) { // 実際のビジネスシナリオでは例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、情報は参照用にのみ表示されます。 echo $exception->getMessage() . PHP_EOL; echo $exception->getErrorCode() . PHP_EOL; echo $exception->getRequestId() . PHP_EOL; echo $exception->getErrorMessage() . PHP_EOL; }環境変数を設定してプロキシを設定します。
HTTP_PROXY または http_proxy
HTTPS_PROXY または https_proxy
NO_PROXY または no_proxy