我试图让一些 api 用户请求信息,比如他们使用的设备和操作系统,所以我这样尝试:
private string GetDeviceInfo()
{
var userAgent = HttpContext.Current.Request.UserAgent;
var uaParser = Parser.GetDefault();
var c = uaParser.Parse(userAgent);
return c.Device + "|" + c.OS + "|" + c.UserAgent;
}
但是 HttpContext.Current.Request.UserAgent 始终为空!。我搜索并尝试了这个 link , 你能告诉我哪里出了问题吗?
请您参考如下方法:
Request.UserAgent 只是 "user agent" header 的值在 HTTP 请求中。浏览器会自动将其与所有请求(包括 AJAX)一起发送,无浏览器的客户端通常不会包含此类 header 。
如果您的“客户端”不是浏览器,则它需要自己添加具有适当值的 header 。
样本如果使用 HttpWebRequest
var request = (HttpWebRequest)WebRequest.Create("http://www.contoso.com");
request.UserAgent="My custom user agent string";
var response = (HttpWebResponse)myHttpWebRequest.GetResponse();
