use*_*397 7 sql-server iis logparser
我正在寻找通过日志解析器查询从IIS日志文件的用户代理字段中找出浏览器名称和版本,操作系统名称和版本.
由于User-Agent字符串对于每个浏览器和设备具有不同的格式,我如何通过日志解析器查询从每个字符串中获取浏览器名称和版本?实际上要在db表中存储完整的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
Run Code Online (Sandbox Code Playgroud)
Log Parser或SQL中是否有其他功能可用于获取浏览器名称?还有如何获得浏览器版本?
如果需要IIS日志文件中的用户代理的详细信息,则需要使用Log Parser.您可以使用以下查询来获取用户代理.
SELECT
cs(User-Agent) As UserAgent,
COUNT(*) as Hits
FROM c:\inetpub\logs\LogFiles\W3SVC1\*
GROUP BY UserAgent
ORDER BY Hits DESC
Run Code Online (Sandbox Code Playgroud)
希望您安装了LogParser,如果没有安装,请从此处安装并尝试使用以下方式
LogParser.exe -i:W3C "Query" -o:CSV
Run Code Online (Sandbox Code Playgroud)
它将生成类似于以下的输出
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
Run Code Online (Sandbox Code Playgroud)
您可以从这里阅读更多内容.
归档时间: |
|
查看次数: |
14132 次 |
最近记录: |