我正在尝试获取一些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,你能告诉我出了什么问题吗?
答案 0 :(得分:5)
Request.UserAgent
只是HTTP请求中"user agent" header的值。浏览器会自动发送所有请求(包括AJAX),没有浏览器的客户端通常不会包含这样的标题。
如果您的“客户”不是浏览器,则需要添加具有适当值的标头。
时的示例var request = (HttpWebRequest)WebRequest.Create("http://www.contoso.com");
request.UserAgent="My custom user agent string";
var response = (HttpWebResponse)myHttpWebRequest.GetResponse();