Zgjidhni CurlTransport përpara se të kaloni opsione numerike CURLOPT. Klienti HTTP i Yii2 përdor si parazgjedhje StreamTransport dhe nuk bëhet cURL vetëm sepse ato konstante janë të pranishme:

$client = new \yii\httpclient\Client([
    'transport' => \yii\httpclient\CurlTransport::class,
]);

$response = $client->createRequest()
    ->setMethod('GET')
    ->setUrl('https://api.example/items')
    ->setOptions([
        CURLOPT_PROXY => 'http://proxy.example:8080',
        CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
        CURLOPT_PROXYUSERNAME => $proxyUser,
        CURLOPT_PROXYPASSWORD => $proxyPassword,
        CURLOPT_CONNECTTIMEOUT => 5,
        CURLOPT_TIMEOUT => 15,
    ])
    ->send();

Përdorni një mjedis PHP me shtojcën cURL. Ky shembull pret një proxy HTTP që pranon Basic; përputhni proxy-n me metodën që mbështet transporti.

CURLOPT_PROXYAUTH zgjedh vërtetimin te ndërmjetësi. CURLOPT_HTTPAUTH dhe autorizimi i API-së i shërbejnë në vend të kësaj destinacionit.

Opsionet e përbashkëta të kërkesave të Yii2, duke përfshirë proxy-n e ndjeshme ndaj shkronjave të mëdha e të vogla dhe afatet kohore, janë një ndërfaqe tjetër. Ato nuk i bëjnë konstantet arbitrare cURL të transportueshme midis backend-eve.

Nëse Client.requestConfig ofron vlera të parazgjedhura që duhet të mbeten, përdorni addOptions për shtesa për kërkesë. setOptions i paraqitur zëvendëson atë koleksion dhe mund të heqë zgjedhjet e trashëguara.

Artikuj të ngjashëm