User Agent + Version
Klaus
- perl
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
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---
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
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
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