Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt meine CURL-Anfrage über einen Proxy fehl und wie kann ich das Problem beheben?

Warum schlägt meine CURL-Anfrage über einen Proxy fehl und wie kann ich das Problem beheben?

Susan Sarandon
Susan SarandonOriginal
2024-11-14 09:49:01322Durchsuche

Why Is My CURL Request Through a Proxy Failing, and How Can I Fix It?

So verwenden Sie CURL über einen Proxy: Eine Anleitung zur Fehlerbehebung

Die Verwendung eines Proxyservers kann die Funktionalität von Curl verbessern, eine unsachgemäße Einrichtung kann jedoch dazu führen Fehler. Hier ist eine gründliche Analyse Ihres Codes und eine Lösung für die Probleme, auf die Sie gestoßen sind:

Problem 1: Fehlende Variable

Im ersten Codeausschnitt wurde Zeile 12 versucht um $url ohne Initialisierung zu verwenden it:

$url = '$_POST[1]';

Lösung:

Initialisieren Sie $url mit dem entsprechenden Wert aus dem HTML-Formular.

Problem 2: Leer Bildschirm

Der aktualisierte Code gibt jetzt nur noch einen leeren Bildschirm zurück. Dies liegt höchstwahrscheinlich daran, dass $curl_scraped_page die Ausgabe nicht wiedergibt:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

Lösung:

Setzen Sie CURLOPT_RETURNTRANSFER auf 1, um die Ausgabe an $curl_scraped_page zu aktivieren.

Endgültige Arbeiten Code:

$url = 'http://dynupdate.no-ip.com/ip.php';
$proxy = '66.96.200.39:80';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);

echo $curl_scraped_page;

Zusätzliche Hinweise:

  • CURLOPT_PROXYUSERPWD kann verwendet werden, um Benutzernamen und Passwort für die Proxy-Authentifizierung bereitzustellen.
  • CURLOPT_HEADER kann auskommentiert werden, wenn Header im nicht erwünscht sind Ausgabe.
  • Wenn Sie CURLOPT_PROXY auf null setzen, wird der Proxy für bestimmte Anfragen deaktiviert.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine CURL-Anfrage über einen Proxy fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn