CURLOPT_PROXYPORT ne fournit qu'un numéro de port. Il n'identifie pas un hôte de proxy, ne choisit pas de protocole et ne crée pas d'écouteur sur la machine locale.

Une nouvelle configuration PHP cURL se lit plus facilement lorsque le point de terminaison complet reste regroupé :

curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:3128');

La documentation de libcurl déconseille l'option de port séparée. Le code existant peut toutefois l'utiliser avec un hôte sans port intégré :

curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example');
curl_setopt($handle, CURLOPT_PROXYPORT, 3128);

Un port explicitement inclus dans la chaîne de proxy est prioritaire sur l'option séparée. Évitez de maintenir deux nombres contradictoires.

Si seul CURLOPT_PROXYPORT apparaît dans un extrait, examinez le reste de la configuration du handle et l'environnement applicable. L'extrait seul ne révèle pas quel hôte de proxy, s'il y en a un, libcurl utilisera.

Le port 3128 est un choix de déploiement courant, pas un détecteur de protocole. Utilisez le protocole et le port réels de l'écouteur. Pour une route HTTP publique, la liste de proxy HTTP fournit des candidats adresse et port à garder ensemble dans l'URL du proxy. Un proxy joignable sur un autre port n'a pas besoin d'être déplacé simplement pour correspondre à un exemple.

Articles similaires