Domain aus Weiterleitung mit CURL abfragen

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

  • Domain aus Weiterleitung mit CURL abfragen

    Hallo alle zusammen,

    für ein Projekt muss ich, anhand einer übergebenen URL, die Meta Informationen von Webseiten auslesen. Das ganze klappt soweit sehr gut, solange bis ich auf eine Weiterleitung treffe.

    In folgendem Fall bekomme ich mittels CURL und CURLINFO_HTTP_CODE die Information über eine Weiterleitung, allerdings habe ich kaum Ideen an die weitergeleitete Domain zu kommen.

    Aktuell öffne ich mit file_get_contents den Quelltext der neuen URL und suche mit einem regulären Ausdruck nach dem eingebundenen Stylesheet und hole mir so den Namen der Domain. Mir ist auch klar das diese Möglichkeit Käse ist. Ich arbeite zur Zeit an einer Lösung die vorkommen von absoluten Pfaden in dem Dokument sucht und bei mehr als drei gleichen Übereinstimmungen aus diesem den Namen der Domain herausparst.

    Folgende Domain nutze ich zum testen: MooEditable


    Vielleicht hat einer von euch ja eine Idee wie man das am besten bewerkstelligen kann.


    cheers

  • #2
    Mit CURLOPT_FOLLOWLOCATION kannst du das folgen der Weiterleitung unterbinden, mit CURLOPT_HEADER dafür sorgen, dass du den Header auch bekommst. Das Ergebnis ausgeben, untersuchen und die Weiterleitung entsprechend extrahieren.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      @unset

      Danke für den Tipp.
      Ich hatte gestern noch kurz vor Schluss in den Kommentaren aus der php Dokumentation folgendes funktionierendes Snippet gefunden.

      PHP-Code:
              function urlInfoRedirect($url) { 
                  
      $options = array( 
                      
      CURLOPT_RETURNTRANSFER => true,     // return web page 
                      
      CURLOPT_HEADER         => true,    // return headers 
                      
      CURLOPT_FOLLOWLOCATION => true,     // follow redirects 
                      
      CURLOPT_ENCODING       => "",       // handle all encodings 
                      
      CURLOPT_USERAGENT      => "spider"// who am i 
                      
      CURLOPT_AUTOREFERER    => true,     // set referer on redirect 
                      
      CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect 
                      
      CURLOPT_TIMEOUT        => 120,      // timeout on response 
                      
      CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects 
                  
      ); 
                  
      $ch      curl_init$url ); 
                  
      curl_setopt_array$ch$options ); 
                  
      $content curl_exec$ch ); 
                  
      $err     curl_errno$ch ); 
                  
      $errmsg  curl_error$ch ); 
                  
      $header  curl_getinfo$ch ); 
                  
      curl_close$ch ); 
                  
      //$header['errno']   = $err; 
                    //$header['errmsg']  = $errmsg; 
                  //$header['content'] = $content; 
                  
      print($header[0]); 
                  return 
      $header
              } 

      cheers

      Kommentar


      • #4
        Zitat von unset Beitrag anzeigen
        Mit CURLOPT_FOLLOWLOCATION kannst du das folgen der Weiterleitung unterbinden, mit CURLOPT_HEADER dafür sorgen, dass du den Header auch bekommst. Das Ergebnis ausgeben, untersuchen und die Weiterleitung entsprechend extrahieren.
        Das geht auch leichter - siehe kürzlich von mir gestarteten Thread -> http://www.php-resource.de/forum/bra...-auslesen.html

        Im Eröffnungspost war ich auch noch auf dem "Holzweg".
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar

        Lädt...
        X