Klaus: User Agent + Version

Hallihallo!
Unter Perl ist es ja möglich, den anfragenden Browser zu ermitteln.
Kann ich auch explizit die Version ermitteln (z.B. "4", "5" usw.) und zwischen MSIE und Netscape unterscheiden?

Danke!

Klaus

  1. Hallihallo!
    Unter Perl ist es ja möglich, den anfragenden Browser zu ermitteln.
    Kann ich auch explizit die Version ermitteln (z.B. "4", "5" usw.) und zwischen MSIE und Netscape unterscheiden?

    Danke!

    Klaus

    Hallo Klaus,

    probier mal dieses kleine Script:
    ---scr---

    als CGI PERL Script die Umgebung ausgeben

    Header senden

    print "content-type: text/html\n\n";
    for(%ENV){
    print $_, "<br>\n";
    }
    ---ende---

    MSIE zeigt unter HTTP_USER_AGENT
    Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)

    Opera zeigt
    Mozilla/4.0 (Windows NT 4.0;US) Opera 3.60 [en]

    NS 4.61 zeigt
    Mozilla/4.61 [en] (WinNT; I)

    Viele Grüße, Rolf

    1. Hallo,

      MSIE zeigt unter HTTP_USER_AGENT
      Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)

      Danke, aber das war mir schon klar (<../../tech.htm#a7>), ich weiss nur nicht, wie ich da jeweils die Infos rausfiltern kann, die ich brauche (Name + Version), ohne für jedes Betriebssystem die gesamte Browser-Ausgabe im Skript anzugeben.

      Gruss,

      Klaus

      1. Hi,

        Danke, aber das war mir schon klar (<../../tech.htm#a7>), ich weiss nur nicht, wie ich da jeweils die Infos rausfiltern kann, die ich brauche (Name + Version), ohne für jedes Betriebssystem die gesamte Browser-Ausgabe im Skript anzugeben.

        das ist auch alles andere als trivial. Die genaue Erkennung ist sehr schwierig, kann aber anhand von Stichworten geschehen:

        $_ = $ENV{'HTTP_USER_AGENT'};
        /Opera/ && print "Opera";
        /Mozilla/ && /compatible/ && print "MSIE";
        /Mozilla/ && !/compatible/ && print "Netscape";

        Nur als ein Beispiel. Wie Du die Versionsnummer rausfindest überlasse ich Dir ;-)

        Ein Tip: Laß Dir z.B. per SSI jeden neuen User-Agent in ein Logfile schreiben. An diesem testest Du Deine Routine regelmäßig aus. Wenn Du eine längere Liste haben willst, such mit einer Suchmaschine nach "Nutscrape/1.0", Du wirst einige seeehr lange Listen finden... :-)

        Cheatah