Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Web api HttpContext.Current.Request.UserAgent始终为空_C#_Asp.net_Asp.net Web Api - Fatal编程技术网

C# Web api HttpContext.Current.Request.UserAgent始终为空

C# Web api HttpContext.Current.Request.UserAgent始终为空,c#,asp.net,asp.net-web-api,C#,Asp.net,Asp.net Web Api,我正在尝试获取一些api用户请求的信息,如他们使用的设备和操作系统,因此我尝试如下: private string GetDeviceInfo() { var userAgent = HttpContext.Current.Request.UserAgent; var uaParser = Parser.GetDefault(); var c = uaParser.Parse(userAgent); return c.Dev

我正在尝试获取一些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
始终为空!。我搜索了一下并尝试了这个,你能告诉我怎么了吗?

请求。UserAgent
只是HTTP请求中的值。浏览器将自动发送它与所有请求(包括AJAX),没有浏览器客户端通常不包括这样的头

如果您的“客户端”不是浏览器,则需要添加本身具有适当值的标题

如果使用,请取样


Request.UserAgent
只是HTTP请求中的值。浏览器将自动发送它与所有请求(包括AJAX),没有浏览器客户端通常不包括这样的头

如果您的“客户端”不是浏览器,则需要添加本身具有适当值的标题

如果使用,请取样


你有没有通过密码。。?如果是这样的话,
userAgent
中的值是什么呢?也可以看看这篇文章。。可能是您的客户端未发送用户代理标头。您如何访问api@Figo@DJKRAZE
userAgent
is
null
作为
HttpContext.Current.Request.userAgent
is
null
它抛出一个类型为
System.ArgumentNullException的异常:值不能为null。参数名称:在UAParser.Parser.Parsers.c|u DisplayClass43的System.Text.RegularExpressions.Regex.Match处输入(字符串输入)`@ZohaibAslam我的客户端正在直接调用api
/api/request
,我是否应该强制客户端发送这些信息?如果是这样的话,怎么做?试试这个网站…你有没有通过代码。。?如果是这样的话,
userAgent
中的值是什么呢?也可以看看这篇文章。。可能是您的客户端未发送用户代理标头。您如何访问api@Figo@DJKRAZE
userAgent
is
null
作为
HttpContext.Current.Request.userAgent
is
null
它抛出一个类型为
System.ArgumentNullException的异常:值不能为null。参数名称:在UAParser.Parser.Parsers.c|u DisplayClass43的System.Text.RegularExpressions.Regex.Match处输入(字符串输入)`@ZohaibAslam我的客户端正在直接调用api
/api/request
,我是否应该强制客户端发送这些信息?如果是这样,怎么做?试试这个网站…是的,我试着用控制台应用程序和web浏览器调用我的api,我得到了区别,谢谢你的回答。是的,我试着用控制台应用程序和web浏览器调用我的api,我得到了区别,谢谢你的回答。
var request = (HttpWebRequest)WebRequest.Create("http://www.contoso.com");
request.UserAgent="My custom user agent string";
var response = (HttpWebResponse)myHttpWebRequest.GetResponse();