すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud SDK:プロキシの設定

最終更新日:Jan 15, 2025

このトピックでは、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