Ankündigung

Einklappen
Keine Ankündigung bisher.

Dynamische HTML Seite parsen

Einklappen

Neue Werbung 2019

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

  • Dynamische HTML Seite parsen

    Hallo,

    ich habe folgendes Problem. Unter folgender URL:
    http://salzgitter.w2.aid-net.de/cgi-...00&IRsrc=9

    wird eine HTML Seite erzeugt, die man in Webseiten einbauen kann.
    Ich möchte aber den Inhalt der Börseninfos in eine Flashanimation einbauen. Dazu muss ich die Datei parsen.
    Ich habe schon vieles versucht, aber ich bekomme mit fopen immer eine Fehlermeldung, in der mir gesagt wird, dass das Streaming der Seite nicht möglich ist....Timeout.

    Kann man dynamische Seiten nicht mit fopen parsen? Was gibt es für andere Möglichkeiten?

    Viele Grüße
    Torsten



  • #2
    Eigentlich müsste das gehen, an den Einstellungen in der php.ini liegt es nicht(max. Ausführungsdauer eines Skripts).
    Kannst du deine Fehlermeldung posten?

    Kommentar


    • #3
      Fehlermeldung

      ich bekomme folgende Fehlermeldung:
      Warning: fopen(http://salzgitter.w2.aid-net.de/cgi-...00&IRsrc=9) [function.fopen]: failed to open stream: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat. in c:\programme\apache group\Apache\htdocs\test\index.php on line 5

      Fatal error: Maximum execution time of 30 seconds exceeded in c:\programme\apache group\Apache\htdocs\test\index.php on line 5

      Kommentar


      • #4
        Zum zweiten Fehler sage ich nur, dass du in der php.ini max_execution_timemax.( Ausführungszeit eines Skripts) höher setzen musst.

        Zur zweiten Meldung poste auch mal dein komplettes Skript.

        Kommentar


        • #5
          Möchte erstmal nur den Inhalt der HTML Seite in einem String haben. In diesem kann ich dann schnellen nach den bestimmten Stellen suchen.
          Deswegen auch nur ein kleines Skript vorab:

          $filename ="http://salzgitter.w2.aid-net.de/cgi-bin/ix/ix.cgi?IXpage=ir_sz_start&IRwkn=620200&IRs rc=9";
          $fd = fopen($filename, "r");
          $content = fread ($fd, filesize($filename));
          $fclose ($fd);

          print ($content); //nur zum Test, ob irgendwelche Daten in $content angekommen sind


          Ein anheben der timeout Zeit in der php.ini hat nicht geholfen. Die erzeugt HTML Seite ist ja auch nur klein! Der Fehler liegt bestimmt wo anders !?!

          Kommentar


          • #6
            Es liegt wahrscheinlich am zweiten Parameter in fread() -->filesize()
            filesize liefert die Größe in Bytes einer Datei, aber du brauchst die Zeilenanzahl(Länge) einer Datei.
            Somit geht das ganze nicht, versuchs aml vielleicht ohne Parameter(dann liest du die ganze Datei bis EOF ein).

            Link dazu: PHP: fread - Manual
            PHP: filesize - Manual

            Kommentar


            • #7
              Bei fread() gibst Du auch die Bytezahl als zweiten Parameter an. Das passt schon zu filesize ...eigentlich. Aber filesize funktioniert nicht mit http urls. Damit filesize funktioniert, muss der wrapper stat unterstützen. Und unter PHP: HTTP and HTTPS - Manual kannst Du Dich überzeugen, dass das beim http wrapper nicht der Fall ist.
              PHP-Code:
              $url 'http://salzgitter.w2.aid-net.de/cgi-bin/ix/ix.cgi?IXpage=ir_sz_start&IRwkn=620200&IRs  rc=9';
              $contents file_get_contents($url);

              echo 
              $contents

              Kommentar


              • #8
                Das klappt leider auch nicht. Wo hakt es nur?

                Warning: file_get_contents(http://salzgitter.w2.aid-net.de/cgi-...620200&IRs rc=9) [function.file-get-contents]: failed to open stream: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat. in c:\programme\apache group\Apache\htdocs\test\index.php on line 12

                Fatal error: Maximum execution time of 300 seconds exceeded in c:\programme\apache group\Apache\htdocs\test\index.php on line 12

                Kommentar


                • #9
                  Kann zum Beispiel eine Firewall sein, die die IP Pakete ohne Rückmeldung wegwirft.

                  Kommentar


                  • #10
                    Eine Firewall haben wir auf jeden Fall. Kann man die Zugangsparameter irgendwie per Php übermitteln, sodass der Weg frei ist?

                    Der Webzugriff über Port 80 funktioniert, über welchen Port kommen deiner Meinung nach die antworten eines IP Streams?

                    Kommentar


                    • #11
                      Zitat von blaus Beitrag anzeigen
                      Der Webzugriff über Port 80 funktioniert, über welchen Port kommen deiner Meinung nach die antworten eines IP Streams?
                      Ersteres bezweifel ich einfach mal. Und letzteres muss man normalerweise nicht konfigurieren. Wer administriert den Computer?

                      Kommentar

                      Lädt...
                      X