Mike: Seite auslesen und EXTERNEN Link speichern, der über ein Script.

Ich würde gerne eine Webseite, Katalog  auslesen und alle für mich relevanten Daten speichern.
Dies klappt ganz gut doch ein Problem habe ich, auf jeder der Seite ist auch ein Link, dieser ist aber nicht als www.example.com hinterlegt, sondern wird von einem Script übergaben, diese gibt dann den eigentlichen Link aus.

Also statt dem Link, steht dort
outgoing.php?id=1000

dieser gibt dann die eigentliche URL weiter
Habe ich irgendwie die Möglichkeit diese URL auch zu speichern.

Mike

;_) Ja es ist legal, es geht um eine Bücherei in den Staaten. So wäre es für mich viel einfacher in den Tiefen des Archiv rumzusuchen

  1. Also statt dem Link, steht dort
    outgoing.php?id=1000

    dieser gibt dann die eigentliche URL weiter
    Habe ich irgendwie die Möglichkeit diese URL auch zu speichern.

    Aber klar!

    if ( substr($url,0,16) == 'outgoing.php?id=' ) {  
        $url=DeineFunktionFürGenauDieseSeite($protokoll.'://'.$hostname.'/'.$url);  
    }  
    
    

    DeineFunktionFürGenauDieseSeite($url) {
       $res= wget -O - $uri # Achte auf die Backticks;
       # PHP-Hardliner nehmen übrigens curl!
       # Ab hier $res ausfiltern, welches den Inhalt der Webseite enthalten sollte.
       # Möglicherweise brauchst Du aber nur die http-header
       $header= wget -O /dev/null 2>&1  - $uri # Achte auch hier auf die Backticks;
    }

    Für alle:

    Ich drängle mal hinsichtlich Fortschritte II - (Diskussion: Schutz anderer Dateien)

    Jörg Reinholz

    1. also ich habe die komplette Seite in

        
      $res = file_get_contents("http://www.example.com");
      

      in dieser muss ich also nach meiner externen URL suchen!

      Ich weis von Ihr das sie so aussieht: outgoing.php?id=

      Aber dann ist nichts mehr klar für mich...

        
      if ( substr($url,0,16) == 'outgoing.php?id=' ) {  
          $url=DeineFunktionFürGenauDieseSeite($protokoll.'://'.$hostname.'/'.$url);  
      }  
        
        
        
      function DeineFunktionFürGenauDieseSeite($url) {  
         $res= `wget -O - $uri`; # Achte auf die Backticks  
         # PHP-Hardliner nehmen übrigens curl!  
         # Ab hier $res ausfiltern, welches den Inhalt der Webseite enthalten sollte.  
         # Möglicherweise brauchst Du aber nur die http-header  
         $header= `wget -O /dev/null 2>&1  - $uri`; # Achte auch hier auf die Backticks  
      }
      
      1. Ich weis von Ihr das sie so aussieht: outgoing.php?id=

        Fehler: Es fehlt das drumherum.

        Aber dann ist nichts mehr klar für mich...

        Du musst halt (versuchen) auch die outgoing.php abholen.

        Steht nichts drin musst Du die http-header untersuchen. Deshalb das wget. Geht natürlich auch mit curl. Aber wenn Du das nur für einen bestimmten Einsatzzweck auf einem bestimmten Server machst, dann ist wget eine gute Lösung.

        Falls eine Webseite kommt, dann kannst vom Prinzip in der genau so suchen, wie in der, die Du jetzt durchsuchst.

        Oder Dein Problem besser beschreiben. "Aber dann ist nichts mehr klar für mich..." ist normalerweise ein Anlass auf das s/(feine|fucking) manual/i zu verweisen.

        Jörg Reinholz