Hallo,
ich bin neu hier und habe ein problem:
meine Programmierkenntnisse sind fortgeschritten jedoch hänge ich nun an einer Sache mit cURL.
Mein Ziel: Via cURL aufruf durch einen Proxy meine Website aufrufen. Z.B. versuche ich damit, die Besucher meiner Website zu manipulieren.
Das Problem: woran erkenne, ob ein Proxy die Verbindung erfolgreich durchgelassen hat, und die angegebene Website aufgerufen wurde?!
hier teil von meinem Code:
das problem ist: viele proxys leiten mich erst nach 10 sek weiter, diese geben mir keine fehlermeldung ($fehler ist leer) aber sie haben trotzdem nicht die gewünschte aufgabe getätigt.. also mein Besuch wird nicht gewertet... wie kann ich das abfangen?! hat jem ne idee?
Für Rückfragen stehe ich gerne offen, einfach posten
ich bin neu hier und habe ein problem:
meine Programmierkenntnisse sind fortgeschritten jedoch hänge ich nun an einer Sache mit cURL.
Mein Ziel: Via cURL aufruf durch einen Proxy meine Website aufrufen. Z.B. versuche ich damit, die Besucher meiner Website zu manipulieren.
Das Problem: woran erkenne, ob ein Proxy die Verbindung erfolgreich durchgelassen hat, und die angegebene Website aufgerufen wurde?!
hier teil von meinem Code:
PHP-Code:
curl_setopt($curl, CURLOPT_URL, $website); //$website wird am anfang des scripts mit der aufzurufenden Seite belegt
curl_setopt($curl, CURLOPT_PORT, 80); //
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); //10 sek um zu dem proxy zu connecten, sonst Timeout
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); //website wird zurückgegeben
curl_setopt($curl, CURLOPT_REFERER, "www.test.de"); //referer..
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); //erklärt sich selbst
curl_setopt($curl, CURLOPT_PROXY, $ip); //$ip wird aus einer Datenbank ausgelesen (funktioniert)
curl_setopt($curl, CURLOPT_PROXYPORT, $port); //wird wie die ip aus einer datenbank ausgelesen
curl_setopt($curl, CURLOPT_FRESH_CONNECT, 1); //keine connection aus dem cache verwenden
curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 0); //verbindung nicht tunnel, da sonst meine ip getunnelt wird, und nicht die ip vom proxy geloogt wird (richtig so?!)
$comment;
$info = curl_getinfo($curl);
$connect_time = $info['connect_time']; //zeit die fuer die Verbindung benötigt wird
$string = curl_exec($curl); //$string enthält den inhalt der website
$fehler = curl_error($curl); //ggf. enthält $fehler eine fehlermeldung, sonst NULL
//wenn etwas in $fehler steht war die verbindung nicht erfolgreich
if(!empty($fehler)) {
$comment = $fehler;
$conn = $row['conn_timeout']+1;
$id = $row['id'];
$update = "UPDATE proxy_liste SET conn_timeout = $conn WHERE id = $id";
mysql_query($update);
$i--;
}
//die verbindung war erfolgreich
else{
$comment = "worked";
$conn = $row['conn_erfolgreich']+1;
$id = $row['id'];
$update = "UPDATE proxy_liste SET conn_erfolgreich = $conn WHERE id = $id";
mysql_query($update);
}
Für Rückfragen stehe ich gerne offen, einfach posten
Kommentar