
Ich zeige Ihnen, wie Sie Proxy-IP in PHP verwenden können, um die Daten zu erfassen.
Engagiert in der Web-Crawler Jungs müssen die 403 Forbidden schlechte Sache begegnet, dieses Mal dieProxy-IPEs ist ein Lebensretter für Sie. Heute werden wir auf die einfachste Art und Weise darüber sprechen, wie man cURL in PHP eine Proxy-IP-Funktionalität hinzufügt.
Warum nicht ein nacktes Kriechen?
Viele Websites verfügen zum Beispiel über Anti-Crawler-Mechanismen:
- Häufige Besuche auf derselben IP werden auf die schwarze Liste gesetzt.
- Server können IP-Segmente des Serverraums erkennen
- Bestimmte regionale IPs werden besonders behandelt
Mit dem Proxy-IP-Pool von ipipgo ist es diesmal so, als würde man dem Crawler eine Gasmaske aufsetzen, mit der er diese Überwachungsfallen effektiv umgehen kann.
Praktischer Code zum Mitnehmen
Schauen wir uns eine Basiskonfiguration an:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "Ziel-URL");
curl_setopt($ch, CURLOPT_PROXY, "Proxy IP-Adresse:Port"); curl_setopt($ch, CURLOPT_PROXY, "Proxy IP-Adresse:Port");
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "Konto:Passwort"); curl_setopt($ch, CURLOPT_PROXYUSERPWD, "Konto:Passwort");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
Konzentrieren Sie sich auf diese drei Parameter:
| Parameter | entspricht Englisch -ity, -ism, -ization |
|---|---|
| CURLOPT_PROXY | Geben Sie die Adresse des Proxyservers ein |
| CURLOPT_PROXYTYPE | Art des Mittels (kann weggelassen werden) |
| CURLOPT_PROXYUSERPWD | Informationen zur Zertifizierung |
Automatische IP-Umschaltung
Wenn Sie einen langen und stabilen Betrieb haben wollen, müssen Sie lernen, wie Sie IPs automatisch ändern können. ipipgo's Dynamic Proxy Service wird hier empfohlen, und seine API kann die neuesten IPs in Echtzeit abrufen:
// Abrufen des Proxy-IP-Pools von ipipgo
$ipPool = json_decode(file_get_contents("https://api.ipipgo.com/getips?type=php"));
foreach($ipPool as $proxy){
curl_setopt($ch, CURLOPT_PROXY, $proxy->ip.":".$proxy->port);
// Fügen Sie hier eine Fehlerbehandlungslogik hinzu
if(curl_errno($ch) == 0){
break; // bei Erfolg aus der Schleife ausbrechen
}
}
Ein Leitfaden zur Vermeidung der Grube
1. Seien Sie nicht faul bei den Timeout-EinstellungenCURLOPT_TIMEOUT: Es wird empfohlen, CURLOPT_TIMEOUT auf 8-15 Sekunden einzustellen, was zu kurz ist, um Fehlalarme zu verursachen.
2. Denken Sie daran, Ihre Spuren zu beseitigen.CURLOPT_USERAGENT hinzufügen, um den Browser zu verschleiern.
3. Überprüfung der Gültigkeit des ProxysRegelmäßige Überprüfung des Antwortstatuscodes mit curl_getinfo
Häufig gestellte Fragen QA
F: Die Proxy-IPs funktionieren nicht, wenn ich sie verwende?
A: In diesem Fall empfiehlt es sich, den dynamischen, kurzlebigen Proxy von ipipgo zu verwenden, dessen IP-Überlebenszeit auf die Minute genau sein kann.
F: Die zurückgegebenen Daten sind immer unvollständig?
A: Versuchen Sie, den Parameter CURLOPT_ENCODING hinzuzufügen, einige Proxy-Server komprimieren Daten!
F: Wie kann ich feststellen, ob ein Bevollmächtigter anonym ist?
A: Bei Verwendung der von ipipgo bereitgestellten Erkennungsschnittstelle wird der X-FORWARDED-FOR-Header zurückgegeben
Um ehrlich zu sein, ist die Verwaltung eines Proxy-IP-Pools auf eigene Faust sowohl kostspielig als auch anstrengend. Professionelle Dienstleistungsanbieter wie ipipgo bieten nicht nurDutzende Millionen IP-RessourcenErstens ist das PHP-SDK ein gutes Paket, und die Schnittstellendokumentation ist auch in einer menschlichen Sprache geschrieben. Ihr PHP-SDK-Paket ist ziemlich perfekt, Docking-Dokumentation ist auch in menschlicher Sprache geschrieben, ist es empfehlenswert, direkt zu verwenden.

