사용자 에이전트 HTTP 헤더의 운영 체제
User-Agent HTTP 헤더 문자열-> 운영 체제를 매핑하는 좋은 최신 목록이 있습니까?
여기에 간단한 목록이 있습니다 ... 관심있는 목록을 놓친 경우 알려주세요.
http://www.geekpedia.com/code47_Detect-operating-system-from-user-agent-string.html :
// 사용자 에이전트 문자열을 운영 체제와 일치
Windows 3.11 => Win16,
Windows 95 => (Windows 95) | (Win95) | (Windows_95),
Windows 98 => (Windows 98) | (Win98),
Windows 2000 => ( Windows NT 5.0) | (Windows 2000),
Windows XP => (Windows NT 5.1) | (Windows XP),
Windows Server 2003 => (Windows NT 5.2),
Windows Vista => (Windows NT 6.0),
Windows 7 => (Windows NT 6.1),
Windows 8 => (Windows NT 6.2),
Windows 10 => (Windows NT 10.0),
Windows NT 4.0 => (Windows NT 4.0) | (WinNT4.0) | (WinNT) | (Windows NT ),
Windows ME => Windows ME,
Open BSD => OpenBSD,
Sun OS => SunOS,
Linux => (Linux) | (X11),
Mac OS => (Mac_PowerPC) | (Macintosh),
QNX => QNX,
BeOS => BeOS,
OS / 2 => OS / 2,
Search Bot => (nuhk) | (Googlebot) | (Yammybot) | (Openbot) | (Slurp) | (MSNBot) | (Jeeves에게 질문 / 테오 마) | (ia_archiver)
어떤 언어로 개발하고 있습니까? 사용자 에이전트 문자열에서 데이터 마이닝을 수행하려는 경우 사용할 수있는 기능에 큰 차이가 있습니다.
- PHP에는
browser.php
사용자 에이전트를 OS, 브라우저 및 브라우저 버전으로 구문 분석하는 " "이 있습니다.- http://www.geekpedia.com/code47_Detect-operating-system-from-user-agent-string.html (경고 : Win7은
Windows NT 6.1
아닙니다Windows NT 7.0
)
- http://www.geekpedia.com/code47_Detect-operating-system-from-user-agent-string.html (경고 : Win7은
- Javascript에는 사용자 시스템에 대한 많은 세부 정보가있는 Navigator 개체가 있습니다.
- .NET에는 브라우저의 유용한 기능뿐만 아니라 Win32 또는 Win16을 확인하는 데 사용할 수있는 HttpBrowserCapabilities 개체가 있습니다.
- Zytrax.com은 원시 사용자 에이전트를 원할 경우 다양한 시스템의 다양한 브라우저에 대한 좋은 사용자 에이전트 데이터베이스를 보유하고 있습니다.
Nescio의 답변은 좋은 목록을 제공합니다. 내 목록의 PHP 아래에있는 두 번째 링크에는 기본적으로 모든 언어로 번역 할 수있을만큼 간단한 동일한 정보가 포함되어 있습니다.
어떤 용도 로든 사용자 에이전트를 사용하는 것은 문제가 많다는 것을 명심하십시오 . 개발 시간의 일부를 사이트를 방문하는 사용자 에이전트를 모니터링하고 지속적인 유지 관리를 수행하는 데 기꺼이 할애하지 않는 한, 완전히 수행하지 않도록해야합니다. OS를 감지하는 데 필요한 사용 사례가 무엇이든 모든 플랫폼의 모든 OS는 매우 짧은 시간 내에 극적인 변화를 가질 수 있으므로이를 염두에두고 OS 감지를 수행하는 방법과 이유에 대해주의하는 것이 중요합니다.
위험에 대해 자세히 설명하기 : 데스크톱에서는 6 주 (Chrome OS), 6 개월 (Ubuntu), 1 년 (Mac OS) 또는 2-3 년 (Windows)마다 새로운 OS 버전이 나올 수 있습니다. 그런 다음 훨씬 더 빈번한 출시주기와 예측할 수없는 시장 점유율 변화가있을 수있는 휴대폰, 태블릿, 게임 콘솔, 시계 등을 위해 출시 된 OS를 고려해야합니다 . BlackBerry, Palm OS, Web OS, iOS, Android, Windows Mobile 및 Windows Phone이 지난 몇 년 동안 시장 점유율을 어떻게 변화 시켰는지 살펴보십시오.
운영 체제하지 않는 사이트의 종속성은 (그 자체로하는 문제에 유행 될 수있는) 앱에 대해 대상 "다운로드"페이지를 만드는 경우처럼, 그것은 사용에 거의 항상 더 나은이며, 특징 검출 수있는, 브라우저 또는 OS 감지 코드를 지속적으로 유지하지 않고도 미래를 대비할 수 있습니다.
사용자 에이전트 헤더는 쉽게 위조 될 수 있음을 명심할 가치가 있습니다. 나는 중요한 일에 의존하지 않을 것입니다.
UA 스니핑을하는 것은 거의 항상 나쁜 생각입니다. 당신은 그것에 전혀 의지 할 수 없습니다.
클라이언트에게 해당 환경에 특정한 응답을 보내려면 콘텐츠 유형 또는 인코딩과의 차이점을 구분해야합니다. 이들은 견고한 지정 입니다.
브라우저의 사용자 에이전트는 내가 어떤 것에 의존 할 수있는 것이 아닙니다. 우리는 모두 통계에 사용하지만 100 % 정확하지 않다는 것을 알고 있습니다.
나는 파이어 폭스를 사용하고 그것을 좋아하지 않는 일부 사이트에 대해 정기적으로 IE를 스푸핑합니다. 내 일반 UA는 다음과 같습니다.
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3)
Gecko/2008101315 Ubuntu/8.10 (intrepid) Firefox/3.0.3
때때로 firefox 확장을 사용하여 다음과 같이 변경합니다.
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MS-RTC LM 8;
.NET CLR 2.0.50727; .NET CLR 1.1.4322)
볼 때 다른 부분을 구문 분석해야합니다. OS는 대괄호 사이의 세미콜론으로 구분 된 값의 세 번째 부분입니다.
나는 똑같은 것을 찾고 있었고, http://www.useragentstring.com 을 찾았습니다.
훌륭하지만 매우 정교합니다. 목록이 필요한 프로젝트를 다시 생각하고 싶을 것입니다.이 프로젝트는 '사물을 원근감있게'다루기 때문입니다.
이것을 연구하는 미래의 사람들을 위해 이것을 공유하고 싶었습니다.
Nowadays I can recommend the database from http://user-agent-string.info. You can identify the User-Agent as well as the operating system (if available).
I'm developing the Java library UADetector and merging every month a new version of the database (a.k.a. UAS file), available in XML and INI format. Therefore, I can say from my experience that this data is kept up to date. The usual update intervals is between 5 to 10 days.
ReferenceURL : https://stackoverflow.com/questions/228256/operating-system-from-user-agent-http-header
'IT TIP' 카테고리의 다른 글
decltype 동작의 근거는 무엇입니까? (0) | 2020.12.25 |
---|---|
Android DeadSystemException (0) | 2020.12.25 |
SQLite를 사용하는 LINQ (linqtosql) (0) | 2020.12.25 |
피어 투 피어 : 피어를 찾는 방법 (0) | 2020.12.25 |
Func를 얻을 수 있습니까? (0) | 2020.12.25 |