[Funktion] cURL Aufruf

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] cURL Aufruf

    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:

    PHP-Code:
            curl_setopt($curlCURLOPT_URL$website); //$website wird am anfang des scripts mit der aufzurufenden Seite belegt
            
    curl_setopt($curlCURLOPT_PORT80); //
            
    curl_setopt($curlCURLOPT_CONNECTTIMEOUT10); //10 sek um zu dem proxy zu connecten, sonst Timeout
            
    curl_setopt($curlCURLOPT_RETURNTRANSFERTRUE); //website wird zurückgegeben
            
    curl_setopt($curlCURLOPT_REFERER"www.test.de"); //referer..
            
    curl_setopt($curlCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); //erklärt sich selbst
            
    curl_setopt($curlCURLOPT_PROXY$ip); //$ip wird aus einer Datenbank ausgelesen (funktioniert)
            
    curl_setopt($curlCURLOPT_PROXYPORT$port); //wird wie die ip aus einer datenbank ausgelesen
            
    curl_setopt($curlCURLOPT_FRESH_CONNECT1); //keine connection aus dem cache verwenden
            
    curl_setopt($curlCURLOPT_HTTPPROXYTUNNEL0); //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);
            } 
    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

  • #2
    Hallo,

    also wenn du curl benutzt, versuch mal das curl_getinfo NACH dem curl_exec aufzurufen. Dann bekommst du ein Array mit einigen Infos zurück, mithilfe deren du darauf schließen kannst, dass der Request erfolgreich durchgegangen ist.



    Ich würde dir (vorallem für die Zukunft) jedoch den Zend_Http_Client empfehlen. Mit dem kannst du dir dann auch direkt den HTTP-Status etc. anschauen.
    signed oder unsigned... das ist hier die Frage

    Kommentar


    • #3
      Vielen Dank, werd ich mir mal anschauen

      Kommentar


      • #4
        kann jemand sagen, wie ich das installiere?

        habe root rechte auf dem server:
        Loaded Configuration File /etc/php5/apache2/php.ini

        dort das hier eingetragen:
        include_path = ".:/usr/share/php5:/usr/share/php5/PEAR:/usr/share/php5/library"

        aber wenn ich einen einfachen aufruf starten will, funktioniert es nicht.. habe das library verzeichniss von der zip datei unter /usr/share/php5/library entpackt..

        wieso geht das nicht? ..

        Kommentar

        Lädt...
        X