In een Guzzle 7-aanvraag die de cURL-handler gebruikt, gebruikt de curl-optiearray op laag niveau de gehele CURLOPT-constanten van PHP als sleutels:

$options = [
    'curl' => [
        CURLOPT_PROXY => 'proxy.example',
        CURLOPT_PROXYPORT => 8080,
    ],
];

Houd de buitenste Guzzle-sleutel 'curl' tussen aanhalingstekens. Zet CURLOPT_PROXY en CURLOPT_PROXYPORT niet tussen aanhalingstekens. Wie 'CURLOPT_PROXY' schrijft, maakt een gewone tekenreeks met die naam; PHP zet die niet om in de numerieke waarde van de constante.

Dit verschil verklaart de waarschuwing van curl_setopt_array dat sleutels CURLOPT-constanten of gelijkwaardige gehele getallen moeten zijn. Controleer de vorm van de array voordat u het proxyadres of het account wijzigt: die waarschuwing gaat over het configureren van de handle en is geen bewijs dat de externe proxy een verbinding weigerde.

Wanneer er geen cURL-gedrag op laag niveau nodig is, is de gewone aanvraagoptie van Guzzle eenvoudiger:

$options = [
    'proxy' => 'http://proxy.example:8080',
];

Kies de bedoelde interface en houd de typen van de sleutels consistent. Zodra die vorm geldig is, kan een HTTP-vermelding uit de HTTP-proxylijst het eindpunt leveren voor een toegestane aanvraag naar een openbare URL zonder proxyaccount. De curl-array op laag niveau vereist de cURL-handler; een andere handler wordt niet cURL alleen omdat die array aanwezig is.

Gerelateerde artikelen