CodeIgniter 4.4.0 で CURLRequest にプロキシオプションが追加されました。リクエストのオプション配列にプロキシ URL を指定します:

$client = service('curlrequest');
$response = $client->request('GET', 'https://api.example/', [
    'proxy' => 'http://proxy.example:8080',
    'connect_timeout' => 5,
    'timeout' => 30,
]);

proxy オプションは URL 文字列を 1 つ受け取ります。Requests 形式の http/https マッピングは別の形式です。このオプションが使えない場合は、インストール済みの CodeIgniter のバージョンを確認してください。

CURLRequest はこのオプションに対して CURLOPT_PROXY を設定し、CURLOPT_HTTPPROXYTUNNEL を有効にします。そのため HTTP 中継者は、目的のターゲットへの CONNECT を許可している必要があります。

プロキシ URL にはリスナーの実際のスキームを使い、API エンドポイントはリクエスト URL に残します。許可された公開 API へのリクエストでは、HTTP プロキシ一覧が HTTP プロキシ URL の候補を提供します。ノードが実際のターゲットへの CONNECT を許可しているか確認してください。返されたレスポンスと失敗は、アプリケーションの既存の呼び出し経路で処理します。

関連記事