
Wir zeigen Ihnen, wie Sie mit PHP Daten abrufen können, ohne die IP zu blockieren!
Brüder in der Datenerhebung beschäftigt verstehen, dass die größten Kopfschmerzen ist die Ziel-Site plötzlich geben Sie eine IP-Sperre. Letzten Monat habe ich Kunden geholfen, den Preis für eine E-Commerce-Plattform zu fangen, nur für zwei Tage laufen, um eine 403 Warnung zu erhalten, dieses Mal ist es notwendig, die bietenProxy-IPDas ist jetzt ein großer Killer.
Vorbereitung der Grundausstattung
Zunächst einmal kann die gesamte PHP-Umgebung verwendet werden, um zu überprüfen, ob die curl-Erweiterung installiert ist. Hier gibt es einen Fallstrick zu beachten: einige Server öffnen nicht das Standard-Curl, Sie müssen in die php.ini gehen, um die extension=curl vor dem Semikolon zu entfernen.
if (!function_exists('curl_init')) {
die('Schalten Sie die curl-Erweiterung ein!) ;
}
Naked Capture Code
Schauen wir uns zunächst an, wie ein ungeschützter Code aussieht:
$url = 'https://target-site.com/data';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
Dies ist nicht eine halbe Stunde quasi blockiert, vor allem, wenn die Sammlung Frequenz hoch ist. Letzte Woche, ein Kumpel mit diesem Schreiben Methode, eine halbe Stunde geändert 6 Server-IP, wütend direkt die Tastatur fallen.
Ziehen Sie eine kugelsichere Weste über Ihren Code.
Und jetzt kommt der Clou! Um den Proxy von ipipgo mit curl zu verbinden, muss der Code so geändert werden, dass er wie folgt aussieht:
$proxy = 'proxy.ipipgo.com:9021'; // Tragen Sie hier den von ipipgo bereitgestellten Kanal ein
$auth = 'username:password'; // im Backend generierte Authentifizierungsinformationen
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $targetUrl);
curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $auth); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $auth)
curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15);
//... Belassen Sie die restlichen Einstellungen wie sie sind
Beachten Sie drei wichtige Punkte:
1. die Proxy-Adresse mit Port-Nummer, nicht vergessen
(2) Die Authentifizierungsdaten sind kein Website-Konto, sondern nur im ipipgo-Backend vorhanden.
3. halten Sie die Zeitüberschreitung kurz, 15 Sekunden sind für die meisten Szenarien ausreichend.
Praktischer Leitfaden zur Vermeidung der Grube
Eine Situation aus dem wirklichen Leben, mit der ich kürzlich konfrontiert wurde, als ich einem Kunden bei einer Bereitstellung half:
| symptomatisch | Heilung |
|---|---|
| Zurück zur leeren Seite | Proxy-Adresse auf Protokoll-Header prüfen (http/https) |
| Häufige Auszeiten | Umschalten von Leitungsbereichen in der ipipgo-Konsole |
| Instabile Geschwindigkeit | Aktivieren Sie den automatischen IP-Wechsel und setzen Sie das Intervall auf 30 Sekunden. |
Veteran Driver Experience Paket
1. Sammlung von großen Mengen von Zeit, ist es empfehlenswert, ipipgo's dynamische Wohn-Agent, persönlich getestet täglichen Durchschnitt von 100.000 Anfragen nicht umdrehen zu verwenden!
2. keine freien Mitarbeiter für wichtige Projekte einsetzen, das letzte Mal, als jemand gierig nach billigem Geld war, ist das Ergebnis, dass die Sammlung voll von Werbecode ist.
3) Legen Sie den User-Agent fest, um den Browser zu verschleiern, aber verwenden Sie nicht zu populäre, leicht zu identifizierende
Häufig gestellte Fragen QA
F: Was sollte ich tun, wenn meine Proxy-IP plötzlich ausfällt?
A:Aktivieren Sie "Failover" im Hintergrund von ipipgo, das System wird innerhalb von Sekunden auf eine neue IP umschalten.
F: Wie kann ich feststellen, ob eine Vollmacht in Kraft ist?
A: Fügen Sie curl_getinfo($ch, CURLINFO_PRIMARY_IP) in den Code ein, um die tatsächlichen Export-IPs anzuzeigen
F: Wie geht man mit einer hohen Anzahl von gleichzeitigen Erwerben um?
A: Verwenden Sie die API von ipipgo, um den Proxy-Pool dynamisch zu beziehen, weisen Sie jedem Thread unabhängige IPs zu und denken Sie daran, die Häufigkeit der Anfragen zu kontrollieren.
Zum Schluss noch eine Lektion in Sachen Tränen: Zu einem bestimmten Zeitpunkt wurde die Verfügbarkeit des Proxys nicht überprüft, was dazu führte, dass alle falschen Daten erfasst wurden. Später fand ich heraus, dass ipipgo Online-Tests zur Verfügung stellt, und jetzt führe ich vor jedem Start ein Testskript aus, was mir eine Menge Ärger erspart.

