Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Dezember

SELFHTML Forumsarchiv
Headerinformationen ausblenden

Informationsseite
  1. Seite (PHP) Headerinformationen ausblenden von Rainer, 30. 12. 2007, 22:56
nach unten

Headerinformationen ausblenden

Die folgende Nachricht zum Thema stammt von: Rainer, 30. 12. 2007, 22:56

Hallo,

ich habe folgenden Code um eine Website über ein PHP einzulesen und dann auszugeben. Funktioniert so weit ganz gut, jedoch wird immer so etwas mit ausgegeben:

HTTP/1.1 200 OK Date: Sun, 30 Dec 2007 21:52:31 GMT Server: Apache Last-Modified: Sun, 30 Dec 2007 21:00:05 GMT ETag: "14546-363f9f40" Accept-Ranges: bytes Content-Length: 83270 Connection: close Content-Type: text/html


wie werde ich das los?


<?php
if (!isset($_GET['site'])) {
 $fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
 if (!$fp) {
  echo "$errstr ($errno)<br />\n";
 }
 else {
  fputs($fp, "GET / HTTP/1.0\r\n\r\n");
  while (!feof($fp)) {
   echo fgets($fp,128);
  }
  fclose($fp);
 }
}
?>


Gruß
Rainer

nach obennach unten

Headerinformationen ausblenden

Die folgende Nachricht zum Thema stammt von: dedlfix, 30. 12. 2007, 23:01

echo $begrüßung;

»» ich habe folgenden Code um eine Website über ein PHP einzulesen und dann auszugeben. Funktioniert so weit ganz gut, jedoch wird immer so etwas mit ausgegeben:
»» [ code lang=html]

Das ist kein HTML sondern ein HTTP-Header.

»» HTTP/1.1 200 OK Date: Sun, 30 Dec 2007 21:52:31 GMT Server: Apache Last-Modified: Sun, 30 Dec 2007 21:00:05 GMT ETag: "14546-363f9f40" Accept-Ranges: bytes Content-Length: 83270 Connection: close Content-Type: text/html

Der hört per Definition nach dem ersten zu findenden \r\n\r\n auf. Wenn der Webserver nicht richtig programmiert ist, könnte der auch nur \n\n senden.


echo "$verabschiedung $name";

nach obennach unten

Headerinformationen ausblenden

Die folgende Nachricht zum Thema stammt von: ChrisB, 30. 12. 2007, 23:04

Hi,

»» ich habe folgenden Code um eine Website über ein PHP einzulesen und dann auszugeben. Funktioniert so weit ganz gut, jedoch wird immer so etwas mit ausgegeben:
»»
»» HTTP/1.1 200 OK Date: Sun, 30 Dec 2007 21:52:31 GMT Server: Apache Last-Modified: Sun, 30 Dec 2007 21:00:05 GMT ETag: "14546-363f9f40" Accept-Ranges: bytes Content-Length: 83270 Connection: close Content-Type: text/html
»»
»» wie werde ich das los?

Indem du es abschneidest ...

Erst mal alles in eine Stringvariable einlesen - und dann nach dem ersten Auftauchen eines doppelten Zeilenumbruchs (\r\n\r\n) auftrennen, der bekanntlich HTTP Header von HTTP Body trennt.

MfG ChrisB

nach obennach unten

Headerinformationen ausblenden

Die folgende Nachricht zum Thema stammt von: Rainer, 30. 12. 2007, 23:10

Hi,

»» Erst mal alles in eine Stringvariable einlesen - und dann nach dem ersten Auftauchen eines doppelten Zeilenumbruchs (\r\n\r\n) auftrennen, der bekanntlich HTTP Header von HTTP Body trennt.

und mit was und wie?

Gruß
Rainer

nach obennach unten

Headerinformationen ausblenden

Die folgende Nachricht zum Thema stammt von: Tom, 30. 12. 2007, 23:22

Hello,

»» »» Erst mal alles in eine Stringvariable einlesen - und dann nach dem ersten Auftauchen eines doppelten Zeilenumbruchs (\r\n\r\n) auftrennen, der bekanntlich HTTP Header von HTTP Body trennt.
»»
»» und mit was und wie?

Wie wäre es mit einer Stringfunktion?
Stelle suchen, merken und daran auftrennen.

  mit   [link:http://de.php.net/manual/en/function.strpos.php
  und   [link:http://de.php.net/manual/en/function.substr.php

oder mit

        http://de.php.net/manual/en/function.strstr.php

oder mit einer Array-Funktion

        http://de.php.net/manual/en/function.substr.php

oder mit einer Regular Expression

        http://de.php.net/manual/en/function.preg-split.php


Mehr fällt mir im Moment leider nicht ein.




Harzliche Grüße aus
Sankt Andreasberg
und Guten Rutsch

Tom
--
Nur selber lernen macht schlau


nach obennach unten

Headerinformationen ausblenden

Die folgende Nachricht zum Thema stammt von: Dennis, 30. 12. 2007, 23:23

Hi Rainer,


»» und mit was und wie?

Zum Beispiel mit explode(), dann wirst du ein Array mit mehreren Elementen bekommen, das erste enthält die Header, alle weiteren sind Teile des Bodys. Du kannst mit unset() das erste Array-Element löschen und die restlichen Elemente wieder mit implode() zusammenfügen.

Eleganter wäre es allerdings, wenn du mit strpos() die Position des ersten Auftretens von "\r\n\r\n" im String ermittelst und dann mit substr() den entsprechenden Teil vom String wegschneidest.


Viele Grüße,
  ~ Dennis.
--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|

nach obennach unten

Headerinformationen ausblenden

Die folgende Nachricht zum Thema stammt von: dedlfix, 30. 12. 2007, 23:54

echo $begrüßung;

»» Zum Beispiel mit explode(), dann wirst du ein Array mit mehreren Elementen bekommen,

explode() kennt einen dritten Parameter, der angibt, wieviele Bruchstücke man haben möchte. (Ist übrigens auf der von dir verlinkten Handbuchseite erwähnt.) Zusammen mit list() lässt sich der zweite Teil recht elegant in eine Variable bringen:

  list(, $httpBody) = explode("\r\n\r\n", $httpResponse, 2);

Wenn man die HTTP-Header noch benötigt, kann man dem list() noch eine weitere Variable als ersten Parameter mitgeben.


echo "$verabschiedung $name";

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Dezember

© 1998-2006 Seite Impressum, Software: Classic Forum