문제

웹 사이트는 어떤 브라우저를 방문하는지 알아내는 방법

내가 이것을 할 수있는 방법

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조차 파악하기위한 문자열도 전송해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top