En una petición de Guzzle 7 que usa el controlador cURL, el array de opciones curl de bajo nivel usa las constantes CURLOPT enteras de PHP como claves:

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

Mantenga entre comillas la clave externa 'curl' de Guzzle. No ponga comillas en CURLOPT_PROXY ni en CURLOPT_PROXYPORT. Escribir 'CURLOPT_PROXY' crea una cadena normal con ese nombre; PHP no la convierte en el valor numérico de la constante.

Esta distinción explica el aviso de curl_setopt_array de que las claves deben ser constantes CURLOPT o enteros equivalentes. Compruebe la forma del array antes de cambiar la dirección del proxy o la cuenta: ese aviso se refiere a la configuración del identificador, no es prueba de que el proxy remoto rechazara una conexión.

Cuando no se necesita ningún comportamiento cURL de bajo nivel, la opción de petición normal de Guzzle es más sencilla:

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

Elija la interfaz prevista y mantenga coherentes los tipos de sus claves. Cuando esa forma es válida, una entrada HTTP de la lista de proxies HTTP puede aportar el punto de conexión para una petición permitida a una URL pública sin cuenta de proxy. El array curl de bajo nivel requiere el controlador cURL; otro controlador no se convierte en cURL solo porque ese array esté presente.

Artículos relacionados