gpt4 book ai didi

sql-server - 从日志解析器中的 IIS 日志文件获取浏览器名称和版本

转载 作者:行者123 更新时间:2023-12-02 16:05:10 24 4
gpt4 key购买 nike

我正在通过日志解析器查询从 IIS 日志文件的用户代理字段中查找浏览器名称和版本、操作系统名称和版本。

由于每个浏览器和设备的用户代理字符串都有不同的格式,我如何通过日志解析器查询从每个字符串中准确获取浏览器名称和版本?实际上将在数据库表中存储完整的 UA 字符串。那么 SQL 中是否还有其他函数可以从存储的字段值中获取浏览器和版本号?

我尝试使用此查询来查找浏览器名称:

SELECT top 100 case strcnt(cs(user-agent), 'Firefox') 
when 1 THEN 'Firefox'
else
case strcnt(cs(user-agent), 'MSIE+6')
when 1 THEN 'IE 6'
else
case strcnt(cs(user-agent), 'MSIE+7')
when 1 THEN 'IE 7'
else case strcnt(cs(user-agent), 'Chrome')
when 1 THEN 'Chrome'
else case strcnt(cs(user-agent), 'MSIE ')
when 1 THEN 'IE'
else case strcnt(cs(user-agent), 'Safari ')
when 1 THEN 'Safari'
else case strcnt(cs(user-agent), 'Opera ')
when 1 THEN 'Opera'
ELSE 'Unknown'
End End End End End End End as Browser

Log Parser 或 SQL 中是否还有其他函数可以获取浏览器名称?还有如何获取浏览器版本?

最佳答案

如果您想从 IIS 日志文件中获取用户代理的详细信息,则需要使用日志解析器。您可以使用以下查询来获取用户代理。

SELECT  
cs(User-Agent) As UserAgent,
COUNT(*) as Hits
FROM c:\inetpub\logs\LogFiles\W3SVC1\*
GROUP BY UserAgent
ORDER BY Hits DESC

希望您已经安装了LogParser,如果没有安装请从here安装并尝试使用以下方式

LogParser.exe -i:W3C "Query" -o:CSV

它将生成类似于以下内容的输出

UserAgent   Hits
iisbot/1.0+(+http://www.iis.net/iisbot.html) 104
Mozilla/4.0+(compatible;+MSIE+8.0;… 77
Microsoft-WebDAV-MiniRedir/6.1.7600 23
DavClnt

您可以从here阅读更多内容.

关于sql-server - 从日志解析器中的 IIS 日志文件获取浏览器名称和版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17798944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com