In una richiesta Guzzle 7 che usa il gestore cURL, l'array di opzioni curl di basso livello usa come chiavi le costanti CURLOPT intere di PHP:

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

Mantieni tra virgolette la chiave esterna 'curl' di Guzzle. Non mettere tra virgolette CURLOPT_PROXY né CURLOPT_PROXYPORT. Scrivere 'CURLOPT_PROXY' crea una stringa normale con quel nome; PHP non la converte nel valore numerico della costante.

Questa distinzione spiega l'avviso di curl_setopt_array secondo cui le chiavi devono essere costanti CURLOPT o interi equivalenti. Controlla la forma dell'array prima di cambiare l'indirizzo del proxy o l'account: quell'avviso riguarda la configurazione dell'handle e non è prova che il proxy remoto abbia rifiutato una connessione.

Quando non serve alcun comportamento cURL di basso livello, l'opzione di richiesta normale di Guzzle è più semplice:

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

Scegli l'interfaccia prevista e mantieni coerenti i tipi delle sue chiavi. Una volta che quella forma è valida, una voce HTTP dall'elenco di proxy HTTP può fornire l'endpoint per una richiesta consentita a un URL pubblico senza account proxy. L'array curl di basso livello richiede il gestore cURL; un altro gestore non diventa cURL solo perché quell'array è presente.

Articoli correlati