반응형
Asp.net Core에서 사용자 브라우저 이름 (user-agent)을 얻는 방법은 무엇입니까?
MVC 6, asp.net 5에서 클라이언트가 사용하는 브라우저의 이름을 얻는 방법을 알려주시겠습니까?
쉬운 일이라고 생각합니다. 답을 얻었습니다.Request.Headers["User-Agent"].ToString()
감사
userAgent = Request.Headers["User-Agent"];
https://code.msdn.microsoft.com/How-to-get-OS-and-browser-c007dbf7
나를 Request.Headers["User-Agent"].ToString()
위해 모든 브라우저 이름을 반환하는 데 도움이되지 않았으므로 다음 솔루션을 찾았습니다.
ua-parse를 설치했습니다 . 컨트롤러에서using UAParser;
var userAgent = httpContext.Request.Headers["User-Agent"];
string uaString = Convert.ToString(userAgent[0]);
var uaParser = Parser.GetDefault();
ClientInfo c = uaParser.Parse(uaString);
위의 코드를 사용한 후 userAgent를 사용하여 브라우저 세부 정보를 얻을 c.UserAgent.Family
수 있습니다.c.OS.Family;
Wangkanai 에서 웹 클라이언트 브라우저 정보 검색을 지원하도록 ASP.NET Core를 확장하는 라이브러리를 개발했습니다. 이렇게하면 브라우저 이름을 식별 할 수 있습니다.
namespace Wangkanai.Detection
{
/// <summary>
/// Provides the APIs for query client access device.
/// </summary>
public class DetectionService : IDetectionService
{
public HttpContext Context { get; }
public IUserAgent UserAgent { get; }
public DetectionService(IServiceProvider services)
{
if (services == null) throw new ArgumentNullException(nameof(services));
this.Context = services.GetRequiredService<IHttpContextAccessor>().HttpContext;
this.UserAgent = CreateUserAgent(this.Context);
}
private IUserAgent CreateUserAgent(HttpContext context)
{
if (context == null) throw new ArgumentNullException(nameof(Context));
return new UserAgent(Context.Request.Headers["User-Agent"].FirstOrDefault());
}
}
}
참고 URL : https://stackoverflow.com/questions/28664770/how-to-get-user-browser-name-user-agent-in-asp-net-core
반응형
'Program Tip' 카테고리의 다른 글
Bash의 명령 줄 인수 (0) | 2020.11.04 |
---|---|
ES6 Iterable을 배열로 변환 (0) | 2020.11.04 |
인앱 구매를 설정하는 방법 ( "메타 데이터 누락") (0) | 2020.11.04 |
Python 속성 확인을위한 get () 유사 메소드 (0) | 2020.11.04 |
Zend 자습서로 시작-Zend_DB_Adapter에서 예외 발생 : "SQLSTATE [HY000] [2002] 해당 파일 또는 디렉터리가 없습니다." (0) | 2020.11.04 |