웹 사이트는 어떤 브라우저를 방문하는지 알아내는 방법
-
06-07-2019 - |
문제
웹 사이트는 어떤 브라우저를 방문하는지 알아내는 방법
내가 이것을 할 수있는 방법
ASP.NET C#에 대한 답변을 제공하십니까?
해결책
브라우저는 서버에 사용자 에이전트 문자열에 어떤 종류의 브라우저가 있는지 알려줍니다. 여기에는 각 HTTP 요청에 포함됩니다.
사용자 에이전트에 직접 액세스하고 직접 구문 분석하거나 ASP.NET의 내장 브라우저 기능 기능을 사용할 수 있습니다.
User-Agent: <%= Request.UserAgent %>
ID: <%= Request.Browser.Id %>
Browser: <%= Request.Browser.Browser %>
Type: <%= Request.Browser.Capabilities["type"] %>
다른 팁
그들은 요청에 전달 된 사용자 에이전트를 찾습니다.
asp.net에서 :
Request.ServerVariables["HTTP_USER_AGENT"]
HTTP 프로토콜은 다음의 속성을 제공합니다 헤더를 요청하십시오 전화 사용자 에이전트 클라이언트 (여기서 웹 브라우저)가 브라우저 제조사, 버전 및 운영 체제를 식별하는 문자열로 채우는 것. HTTP 헤더의 모든 요소와 마찬가지로,이 정보는 다양한 목적 (예 : 다양한 클라이언트 측 개인 정보 게이트웨이 등)을 위해 "스푸핑"되거나 변경 될 수 있지만 일반적으로 비교적 신뢰할 수 있습니다.
이러한 사용자 에이전트 문자열의 예는 (여기서는 Firefox 브라우저, 버전 3.5, Windows XP에서 실행)입니다.
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
이 정보는 헤더의 다른 속성과 함께 수신 응용 프로그램에 의해 쿼리 될 수 있습니다. 세부 사항은 하나의 언어/프레임 워크마다 다르지만 이러한 언어/Framworks의 5 월은 HTTP 프로토콜과 관련된 다양한 객체를 반영하는 간단한 객체 모델을 노출시킵니다. HTTP 헤더의 경우 일반적으로 "요청"(다르게 명명 될 수 있음)에서 나오므로 사용자 에이전트에 액세스하는 것은 다음과 같은 것처럼 보일 수 있습니다.
ClientBrowser = Request.Header("User-Agent")
또는 아마도
ClientBrowser = HttpHeader.UserAgent
편집하다: 경우 C#/asp.net (늦은 질문) :
ClientBrowser = Request.ServerVariables("HTTP_USER_AGENT")
또한이 정보를 직접 사용하려는 유혹을받을 수도 있지만 매우 많은 버전의] 사용자 에이전트를 구문 분석하는 세부 사항을 캡슐화하는 다양한 라이브러리에 의존 특정 웹 브라우저와 특정 형태의 JavaScript조차 파악하기위한 문자열도 전송해야합니다.