Nunha petición de Guzzle 7 que usa o controlador cURL, o array de opcións curl de baixo nivel usa como claves as constantes CURLOPT enteiras de PHP:

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

Manteña entre comiñas a clave externa 'curl' de Guzzle. Non poña comiñas en CURLOPT_PROXY nin en CURLOPT_PROXYPORT. Escribir 'CURLOPT_PROXY' crea unha cadea normal con ese nome; PHP non a converte no valor numérico da constante.

Esta distinción explica o aviso de curl_setopt_array de que as claves deben ser constantes CURLOPT ou enteiros equivalentes. Comprobe a forma do array antes de cambiar o enderezo do proxy ou a conta: ese aviso trata da configuración do identificador, non é proba de que o proxy remoto rexeitase unha conexión.

Cando non se necesita ningún comportamento cURL de baixo nivel, a opción de petición normal de Guzzle é máis simple:

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

Escolla a interface prevista e manteña coherentes os tipos das súas claves. Cando esa forma é válida, unha entrada HTTP da lista de proxies HTTP pode fornecer o punto final para unha petición permitida a un URL público sen conta de proxy. O array curl de baixo nivel require o controlador cURL; outro controlador non se converte en cURL só porque ese array estea presente.

Artigos relacionados