c#我应该对useragent进行空检查吗?

时间:2017-06-27 14:30:15

标签: c# asp.net user-agent

我正在提取用户代理:

string userAgent = HttpContext.Current.Request.UserAgent;

UserAgent是否有可能为null?是否只能用于机器人或任何合法的用户/设备/客户端/浏览器?

1 个答案:

答案 0 :(得分:5)

User-Agent标头在RFC 2616中是可选的。客户端可以使用它SHOULD,但不需要使用它。另请参阅RFC7231

  

5.5.3 User-Agent

     

“User-Agent”标头字段包含有关发起请求的用户代理的信息,服务器通常使用该信息来帮助确定报告的互操作性问题的范围,解决或定制响应以避免特定的用户代理限制,以及有关浏览器或操作系统使用的分析。用户代理应该在每个请求中发送User-Agent字段,除非特别配置为不这样做。

认为 RFC7231废弃了2616,但我已经引用了两者的完整性。

所以,是的,您应该检查空用户代理或空用户代理。