tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
754
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DoRiMaN DoRiMaN ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    102
    Hallo an alle!

    Ich versuche zur Zeit, auf Daten einer Webseite zuzugreifen.
    Zum Klarstellen: hab dem Betreiber geschrieben, ist i.O. so, leider gibts keine Schnittstelle für auf die DB, ich soll doch direkt aus der Webseite auslesen.
    Ich versuche wie folgt den Inhalt der Seite zu holen:
    PHP-Code:
    $filestream fopen($url'r');
    if(
    $filestream){
        while(!
    feof($filestream)) {
            
    $buffer fgets($filestream4096);
            echo 
    $buffer;
        }
        
    fclose($filestream);

    das funktioniert auch soweit...
    Es gibt aber Seiten auf dem externen Server, die zuerst weitergeleitet werden (nach dem Prinzip: nur ein Suchresultat? -> direkt zum Artikel).
    Diese Weiterleitung sollte ich mitverfolgen können, denn Schlussendlich möchte ich auf die letzte Seite, die nach der Weiterleitung, zugreifen können.

    Ist das realisierbar?


    Danke und Gruss
    doriman
     
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25...

  2. #2
    kalle123456 Tutorials.de Gastzugang
    Wenn du nur die letzte Seite haben möchtest, warum nimmst du sie denn nicht gleich als Url?
     

  3. #3
    Avatar von Klein0r
    Klein0r Klein0r ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Ort
    Paderborn
    Beiträge
    718
    Zitat Zitat von DoRiMaN Beitrag anzeigen
    Ist das realisierbar?
    Ich denke mal die Frage kann man in 99% aller Fälle mit Ja beantworten

    Also ich glaube du musst in dem Fall ein wenig "Browser spielen" wenn es sich um eine automatische Weiterleitung handelt. Dazu musst du einfach nur wissen wie die Weiterleitung realisiert wurde und den Quelltext nach dem entsprechenden Link parsen auf den verwiesen werden soll.

    Falls du den Link gefunden hast musst du einfach nochmal ein fopen machen.
    Oder habe ich dich falsch verstanden?

    lg
     

  4. #4
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Verwende Werkzeuge, die dies bereits automatisch machen, wie beispielsweise Curl (siehe CURLOPT_FOLLOWLOCATION-Option).
     
    Markus Wulftange

  5. #5
    DoRiMaN DoRiMaN ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    102
    Hallo, danke für Eure Antworten!

    Zitat Zitat von kalle123456 Beitrag anzeigen
    Wenn du nur die letzte Seite haben möchtest, warum nimmst du sie denn nicht gleich als Url?
    die Seite weiss ich nicht, da es immer verschiedene URLs sind, deshalb sollte ich es dynamisch (über GET gebe ich einen Suchbegriff mit) lösen.

    Zitat Zitat von Klein0r Beitrag anzeigen
    Also ich glaube du musst in dem Fall ein wenig "Browser spielen" wenn es sich um eine automatische Weiterleitung handelt. Dazu musst du einfach nur wissen wie die Weiterleitung realisiert wurde und den Quelltext nach dem entsprechenden Link parsen auf den verwiesen werden soll.

    Falls du den Link gefunden hast musst du einfach nochmal ein fopen machen.
    Oder habe ich dich falsch verstanden?
    das mit dem Browser spielen tönt gut

    ich denke Du hast mich falsch verstanden: Bzw. ich habs nicht klar erklärt
    Soweit ich sehen konnte funktioniert die Weiterleitung nicht über einen Link oder Metatag, denn ein fopen auf die erste Seite ist nicht möglich, da kommt gleich eine Fehlermeldung.
    Also denke ich wird das vorher, also z.B. über die PHP-Header weitergeleitet, nicht über HTML oder JavaScript...
    Das mit dem parsen hatte ich auch vor, doch das ging dann eben aus diesem Grund nicht...

    Zitat Zitat von Gumbo Beitrag anzeigen
    Verwende Werkzeuge, die dies bereits automatisch machen, wie beispielsweise Curl (siehe CURLOPT_FOLLOWLOCATION-Option).
    Danke Gumbo, werde mich Mal mit Curl auseinandersetzen.
    Wenn ichs nicht schaffe melde ich mich wieder


    Gruss
    doriman
     
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25...

  6. #6
    DoRiMaN DoRiMaN ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    102
    Zitat Zitat von DoRiMaN Beitrag anzeigen
    Wenn ichs nicht schaffe melde ich mich wieder
    nicht geschafft, hier bin ich wieder

    Hab Mal ein Beispiel versucht:

    curl.php (Beispiel von der PHP-Seite)
    PHP-Code:
    <?php
    $ch 
    curl_init('localhost/scripts/curl/test1.php');
    $fp fopen('output.txt''w');

    curl_setopt($chCURLOPT_FILE$fp);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);

    curl_exec($ch);

    curl_close($ch);
    fclose($fp);
    ?>
    test1.php
    PHP-Code:
    <?php
    header
    ('Location: test2.php');
    exit();
    ?>
    test2.php
    PHP-Code:
    test2 HERZLICHE GRATULATION 
    wenn ich nun curl.php aufrufe, und danach die Datei output.txt öffne, sehe ich "test2 HERZLICHE GRATULATION", also klappts!

    Wenn ich es aber mit der richtigen Seite mache, erhalte ich folgendes:
    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>505 HTTP Version Not Supported</title>
    </head><body>
    <h1>HTTP Version Not Supported</h1>
    <p>The server encountered an internal error or
    misconfiguration and was unable to complete
    your request.</p>
    <p>Please contact the server administrator,
     webmaster@zelluloid.de and inform them of the time the error occurred,
    and anything you might have done that may have
    caused the error.</p>
    <p>More information about this error may be available
    in the server error log.</p>
    <hr>
    <address>Apache Server at <a href="mailto:webmaster@zelluloid.de">www.zelluloid.de</a> Port 80</address>
    </body></html>
    Die Adresse in curl_init ist dann "http://www.zelluloid.de/suche/index.php3?qstring=2 Fast 2 Furious"...

    Also muss es auf zelluloid.de anders gelöst sein?
    Aber wenns z.B. Meta-Tags wären, würde man die ja sehen?
     
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25...

Ähnliche Themen

  1. externe Seite auslesen, mit Login
    Von soyo im Forum PHP
    Antworten: 2
    Letzter Beitrag: 05.12.10, 03:25
  2. Antworten: 5
    Letzter Beitrag: 13.07.05, 22:15
  3. Antworten: 5
    Letzter Beitrag: 03.03.05, 11:26
  4. Antworten: 4
    Letzter Beitrag: 22.01.05, 16:38
  5. Antworten: 2
    Letzter Beitrag: 12.09.04, 19:47