Dans une requête Guzzle 7 qui utilise le gestionnaire cURL, le tableau d'options curl bas niveau utilise comme clés les constantes entières CURLOPT de PHP :

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

Gardez la clé externe 'curl' de Guzzle entre guillemets. Ne mettez pas de guillemets autour de CURLOPT_PROXY ni de CURLOPT_PROXYPORT. Écrire 'CURLOPT_PROXY' crée une chaîne ordinaire portant ce nom ; PHP ne la convertit pas en la valeur numérique de la constante.

Cette distinction explique l'avertissement de curl_setopt_array selon lequel les clés doivent être des constantes CURLOPT ou des entiers équivalents. Vérifiez la forme du tableau avant de changer l'adresse du proxy ou le compte : cet avertissement concerne la configuration du handle, et ne prouve pas que le proxy distant a refusé une connexion.

Quand aucun comportement cURL bas niveau n'est nécessaire, l'option de requête habituelle de Guzzle est plus simple :

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

Choisissez l'interface voulue et gardez les types de ses clés cohérents. Une fois cette forme valide, une entrée HTTP de la liste de proxys HTTP peut fournir le point de terminaison d'une requête autorisée vers une URL publique sans compte proxy. Le tableau curl bas niveau exige le gestionnaire cURL ; un autre gestionnaire ne devient pas cURL du seul fait que ce tableau est présent.

Articles similaires