【发布时间】:2014-12-02 00:13:00
【问题描述】:
我正在尝试获取一些 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,你能告诉我有什么问题吗?
【问题讨论】:
-
你有没有通过代码..?如果是这样,
userAgent中的值是什么也看看这个帖子。codeproject.com/Articles/42347/… -
可能是您的客户端未发送用户代理标头。你是如何访问你的api的? @Figo
-
@DJKRAZE
userAgent是null,因为HttpContext.Current.Request.UserAgent是null它会抛出一种异常System.ArgumentNullException: Value cannot be null. Parameter name: input at System.Text.RegularExpressions.Regex.Match(String input) at UAParser.Parser.Parsers.||c_DisplayClass431.|Create|b41(String input)` ! -
@ZohaibAslam 我的客户直接调用 api
/api/request,我应该强制客户发送这些信息吗?如果有怎么办? -
试试这个网站...yetanotherforum.net/forum/posts/…
标签: c# asp.net asp.net-web-api