En una petició de Guzzle 7 que utilitza el gestor cURL, l'array d'opcions curl de baix nivell fa servir les constants CURLOPT enteres de PHP com a claus:

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

Manteniu la clau externa de Guzzle 'curl' entre cometes. No poseu entre cometes CURLOPT_PROXY ni CURLOPT_PROXYPORT. Escriure 'CURLOPT_PROXY' crea una cadena ordinària amb aquest nom; PHP no la converteix en el valor numèric de la constant.

Aquesta distinció explica l'avís de curl_setopt_array que diu que les claus han de ser constants CURLOPT o enters equivalents. Comproveu la forma de l'array abans de canviar l'adreça del proxy o el compte: aquest avís tracta de la configuració del gestor, no és prova que el proxy remot hagi rebutjat la connexió.

Quan no cal cap comportament cURL de baix nivell, opció de petició normal de Guzzle és més senzilla:

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

Trieu la interfície prevista i manteniu coherents els tipus de les seves claus. Quan aquesta forma és vàlida, una entrada HTTP de la llista de proxys HTTP pot proporcionar el punt final per a una petició a una URL pública permesa sense compte de proxy. L'array curl de baix nivell requereix el gestor cURL; un altre gestor no es converteix en cURL només perquè hi hagi aquest array.

Articles relacionats