作者:黄梓恒_ | 来源:互联网 | 2023-01-31 10:15
我正在提取用户代理:
string userAgent = HttpContext.Current.Request.UserAgent;
UserAgent是否有可能为null?是否只能用于机器人或任何合法的用户/设备/客户端/浏览器?
1> Amy..:
User-Agent头在RFC 2616中是可选的.它应该被客户端使用,但不需要使用它.另见RFC7231:
5.5.3用户代理
"User-Agent"标头字段包含有关发起请求的用户代理的信息,服务器通常使用该信息来帮助确定报告的互操作性问题的范围,解决或定制响应以避免特定的用户代理限制,以及用于分析关于浏览器或操作系统的使用.用户代理应该在每个请求中发送User-Agent字段,除非特别配置不这样做.
我认为 RFC7231废弃了2616,但我已经引用了两者的完整性.
所以,是的,您应该检查null或空用户代理.