CURLOPT_PROXYPORT liefert lediglich eine Portnummer. Es benennt keinen Proxy-Host, wählt kein Protokoll und erzeugt keinen Listener auf dem lokalen Rechner.

Eine neue PHP-cURL-Konfiguration lässt sich leichter lesen, wenn der vollständige Endpunkt zusammbleibt:

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

Die libcurl-Dokumentation rät von der separaten Port-Option ab. Vorhandener Code kann sie dennoch mit einem Host ohne eingebetteten Port verwenden:

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

Ein ausdrücklich in der Proxy-Zeichenkette enthaltener Port hat Vorrang vor der separaten Option. Vermeiden Sie zwei widersprüchliche Nummern.

Wenn in einem Fragment nur CURLOPT_PROXYPORT auftaucht, prüfen Sie den Rest der Handle-Konfiguration und die zutreffende Umgebung. Das Fragment allein verrät nicht, welchen Proxy-Host libcurl gegebenenfalls verwendet.

Port 3128 ist eine gängige Bereitstellungswahl, kein Protokollerkenner. Verwenden Sie das tatsächliche Protokoll und den tatsächlichen Port des Listeners. Für eine öffentliche HTTP-Route liefert die HTTP-Proxy-Liste Adress- und Port-Kandidaten, die in der Proxy-URL zusammengehalten werden sollten. Ein Proxy, der über einen anderen Port erreichbar ist, muss nicht wandern, nur um einem Beispiel zu entsprechen.

Ähnliche Artikel