Dewiswch CurlTransport cyn trosglwyddo dewisiadau rhifol CURLOPT. Mae cleient HTTP Yii2 yn defnyddio StreamTransport yn ddiofyn ac nid yw'n dod yn cURL dim ond am fod y cysonion hynny'n bresennol:

$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();

Defnyddiwch amgylchedd PHP gyda'i estyniad cURL. Mae'r enghraifft hon yn disgwyl procsi HTTP sy'n derbyn Basic; cyfatebwch y procsi i'r dull y mae'r trafnidiaeth yn ei gefnogi.

CURLOPT_PROXYAUTH sy'n dewis dilysu'r canolwr. CURLOPT_HTTPAUTH ac awdurdodiad API sy'n gwasanaethu'r gyrchfan yn lle hynny.

Mae dewisiadau cais a rennir Yii2, gan gynnwys procsi sy'n sensitif i lythrennau a therfynau amser, yn rhyngwyneb arall. Nid ydynt yn gwneud cysonion cURL mympwyol yn gludwyadwy rhwng cefndiroedd.

Os yw Client.requestConfig yn darparu rhagosodiadau sy'n rhaid goroesi, defnyddiwch addOptions ar gyfer ychwanegiadau fesul cais. Mae'r setOptions a ddangosir yn disodli'r casgliad hwnnw ac yn gallu tynnu dewisiadau etifeddol.

Erthyglau cysylltiedig