Ist das richtig so?
Raffi
- php
Hallo Leute
Habe folgenden Code erstellt:
$fp = fsockopen ("www.focusnet.ch", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
while (!$ok) {
$line = fgets ($fp, 1024);
/* Funktioniert nur, wenn Titel und title-Tags in einer Zeile stehen */
if (eregi ("<title>(.*)</title>", $line, $out)) {
$title = $out[1];
print $title;
$ok = true;
}
}
Nun meine Frage: Liege ich da richtig die While schleife wird solange ausgeführt bis ein Titel-Tag gefunden wird?
Gruss
Raffi
Hi,
Nun meine Frage: Liege ich da richtig die While schleife wird solange ausgeführt bis ein Titel-Tag gefunden wird?
Im Prinzip ja.
Du verläßt Dich aber darauf, daß $ok am Anfang nicht den Wert true hat. Ich würde das explizit auf false initialisieren.
Du solltest auch den Fall berücksichtigen, daß nichts gefunden wird - also auch abbrechen, wenn keine Daten mehr kommen.
cu,
Andreas
Moin!
Du verläßt Dich aber darauf, daß $ok am Anfang nicht den Wert true hat. Ich würde das explizit auf false initialisieren.
Du solltest auch den Fall berücksichtigen, daß nichts gefunden wird - also auch abbrechen, wenn keine Daten mehr kommen.
Außerdem ist es bei nahezu jedem Webserver notwendig, beim GET auch einen Host-Header mitzusenden, weil es Standard ist, dass Domains als virtuelle Hosts betrieben werden, bei denen die IP-Adresse kein hinreichendes Unterscheidungskriterium ist.
- Sven Rautenberg
Hi,
Außerdem ist es bei nahezu jedem Webserver notwendig, beim GET auch einen Host-Header mitzusenden, weil es Standard ist, dass Domains als virtuelle Hosts betrieben werden, bei denen die IP-Adresse kein hinreichendes Unterscheidungskriterium ist.
Bin jetzt ausnahmsweise zu faul, das rauszusuchen, aber war das im hier verwendeten HTTP/1.0 überhaupt vorgesehen?
cu,
Andreas
Moin!
Außerdem ist es bei nahezu jedem Webserver notwendig, beim GET auch einen Host-Header mitzusenden, weil es Standard ist, dass Domains als virtuelle Hosts betrieben werden, bei denen die IP-Adresse kein hinreichendes Unterscheidungskriterium ist.
Bin jetzt ausnahmsweise zu faul, das rauszusuchen, aber war das im hier verwendeten HTTP/1.0 überhaupt vorgesehen?
Egal ob vorgesehen oder nicht: Die Browser senden es, die Server verlassen sich drauf. Also: Machen! :) Ansonsten kriegt man nicht die Seite, die man sich wünscht, sondern (mit Pech) einen schönen 403-Status, weil der Standard-Host absichtlich "nichtexistent" gemacht wurde.
- Sven Rautenberg