joschilein
Multitalent
- 5 Mai 2006
- 1.393
- 151
Es geht darum verschiedene SEO-Abfragen über verschiedene Proxys zu erstellen.
Dazu brauche ich eine automatisch aktualisierte Liste gültiger Proxys und dann die Verwendung einer dieser Proxyinformation für eine Abfrage. Diese beiden Themenbereiche gliedere ich auf zwei Klassen aus.
Die erste Klasse (für die Liste) wird momentan noch durch die Rückgabe manuell eingetragener Arrays simuliert. Mein Problem ist die Klasse, welche die eigentliche Abfrage machen soll. Im ersten Schritt soll sie mal prüfen, ob der Proxy überhaupt (noch) funktioniert und dessen verwendete IP ermitteln. Ich kann mich ja schließlich nicht darauf verlassen, ob HTTP_X_FORWARDED_FOR verwendet wird und wenn könnte ich mir den Käse gleich sparen. Im Idealfall wäre die so ermittelte IP identisch mit der, die ich zur Proxyverbindung verwendet habe.
Nun habe ich aber schon festgestellt, dass die Interpretation der Ergebnisse gar nicht so einfach ist und möchte mal fragen ob das soweit richtig ist.
Dazu brauche ich eine automatisch aktualisierte Liste gültiger Proxys und dann die Verwendung einer dieser Proxyinformation für eine Abfrage. Diese beiden Themenbereiche gliedere ich auf zwei Klassen aus.
Die erste Klasse (für die Liste) wird momentan noch durch die Rückgabe manuell eingetragener Arrays simuliert. Mein Problem ist die Klasse, welche die eigentliche Abfrage machen soll. Im ersten Schritt soll sie mal prüfen, ob der Proxy überhaupt (noch) funktioniert und dessen verwendete IP ermitteln. Ich kann mich ja schließlich nicht darauf verlassen, ob HTTP_X_FORWARDED_FOR verwendet wird und wenn könnte ich mir den Käse gleich sparen. Im Idealfall wäre die so ermittelte IP identisch mit der, die ich zur Proxyverbindung verwendet habe.
Nun habe ich aber schon festgestellt, dass die Interpretation der Ergebnisse gar nicht so einfach ist und möchte mal fragen ob das soweit richtig ist.
- Wenn es einen curl-Timeout (errno 2 gibt (testweise mal großzügige 20sec) ist wohl der Proxy nichts (mehr). Wobei es hier auch Unterschiede zu geben scheint, da über curl_getinfo() mal komplette 0er gezeigt werden und manchmal die time-Felder zwar was zeigen, aber download_content_length auf 0 steht. Wobei der zweite Fall eigentlich nicht an der Zielseite liegen kann, da ich bei paralleler Proxyverwendung bei anderen problem ein Ergebnis bekomme.
- Manche Proxys scheinen auf schwarzen Listen zu sein, wodurch zwar eine Ergebnisseite zurückgegeben wird, jedoch nicht die gewünschte Information darauf zu finden ist. Hier müsste ich ggf. noch unterscheiden können, ob ein preg_match wegen einem geblocktem Proxy oder einfach wegen einer Umstrukturierung des Html-Aufbaus fehl schlägt.
- Was mich nun am allermeisten wundert: Wenn ich mit mehreren Proxys parallel den selben IP-Lookup probiere, habe ich entweder Ergebnisse aus 1. oder 2. oder scheinbar gültige Ergebnisse. Nur warum wird bei manchen Proxys dann eine ganz andere IP ermittelt, als sie eigentlich haben sollten (weder die von mir erwartete, noch meine eigene, zusätzlich pro Aufruf wieder anders)? Habe ich Proxys erwischt, die selbst wieder Proxys nutzen? Ist das ein Bug oder Feature? Für meine Prüfung sollte es ja schonmal reichen, wenn nicht meine eigene IP ermittelt wird.