Raffi: Ist das richtig so?

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

  1. 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

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    1. 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

      --
      "Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)
      1. 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

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        1. 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

          --
          "Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)