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

Sah*_*rma 2 c# asp.net user-agent

我正在提取用户代理:

string userAgent = HttpContext.Current.Request.UserAgent;
Run Code Online (Sandbox Code Playgroud)

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

Amy*_*Amy 5

User-Agent头在RFC 2616中是可选的.它应该被客户端使用,但不需要使用它.另见RFC7231:

5.5.3用户代理

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

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

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