fopen http

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

  • fopen http

    hallo,

    ich versuche über die fopen funktion eine andere seite auszulesen um informationen von ihr verarbeiten zu können.

    script ungefähr:
    PHP-Code:
    if($sp fsockopen($host80)) {
    fputs($sp,"GET ".$path." HTTP/1.1\r\n");
    fputs($sp,"Referer: www.google.de\r\n");
    fputs($sp,"Accept-Language: de\r\n");
    fputs($sp,"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 
    NT 5.1; SV1; .NET CLR 1.1.4322)\r\n"
    );
    fputs($sp,"Host: $host\r\n");
    fputs($sp,"Connection: Keep-Alive\r\n");
    fputs($sp,"Cache-Control: no-cache\r\n");
    fputs($sp,"\r\n");
    $res ""

    while(!
    feof($sp)) { 
        
    $res .= fgets($sp128); 
    }
            
    fclose($sp);

    Der Vorgang funktioniert auch Problemlos, jeddoch finden sich wenn ich $res ausgeben lasse auf der seite komische zeichen in tabellen, die da eigentlich nicht sein sollten.
    beispielweise werden in die ausgelesene seite zeichenketten wie f83 oder ff6 eingefügt.

    Woran kann das liegen?

    MfG
    Zuletzt geändert von radgnar; 21.09.2005, 17:09.

  • #2
    Hört sich nach chunked-transfer an. Zeig mal den Header des Responses.
    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


    • #3
      yo hast recht is chunked. Was kann man da machen?

      header:
      HTTP/1.1 200 OK Date: Wed, 21 Sep 2005 12:50:03 GMT Server: Apache/1.3.33 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.10-16 X-Powered-By: PHP/4.3.10-16 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Transfer-Encoding: chunked Content-Type: text/html; charset=iso-8859-1

      Kommentar


      • #4
        Das hier sollte dir weiterhelfen:

        http://www.jmarshall.com/easy/http/#http1.1c2

        Grob gesagt bekommst lauter Bruchstücke geliefert. Vor jedem Stück steht die Länge des nächsten Stücks als Hexadezimal-angabe. Damit kannst Stück für Stück aus dem Response 'extrahieren'.
        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


        • #5
          vielen dank, problem mit hilfe der genannten seite behoben

          Kommentar


          • #6
            Keine Ursache

            Nächstes mal bitte noch bei PHP-code überlange Zeilen an geeigneten Stellen umbrechen, sodass bei 1024er Auflösungen kein Querscroller entsteht.
            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


            • #7
              okay sorry, fällt mir aufgrund einer höheren auflösung nicht auf, aber ich habs editiert.

              mfg

              Kommentar

              Lädt...
              X