2009-11-06 5 views
4

데이터베이스의 사용자 및 위치에 대한 통계를 유지하고자합니다. 예를 들어, "모질라", "파이어 폭스", "사파리", "크롬", "IE"등 ... 버전과 운영 체제를 저장하고 싶습니다.브라우저 감지 Python/mod_python?

파이썬에서 찾으려는 것은이 문자열입니다.

모질라/5.0 (X11; U, 리눅스는 i686; EN-US; RV : 1.9.0.14) 게코/2009090216 우분투/9.04 (말쑥한) 파이어 폭스/3.0.14

사용 할 수있는 효율적인 방법이 있나요 파이썬이나 mod_python은 HTTP 사용자 에이전트/브라우저를 감지합니까?

답변

3

HTTP_USER_AGENT이 정보를 포함하고 있으며 응용 프로그램에서 사용하는 환경 변수에 전달됩니다. 그것은 기본 CGI의 일이

def my_request_handler(req): 
    req.add_common_vars() 
    agent = req.subprocess_env.get("HTTP_USER_AGENT") 

    # `agent` now contains the full user agent of the browser, or None 

, 그러나 이것은 mod_python을 당신에게 그것을 제공하는 방법입니다 mod_python을,이는 다음과 같이 표현된다.

2

제드 스미스 (Jed Smith)가 제안한 방법이 작동하지만, 더 간단한 방법이 있다고 확신했습니다.

req.headers_in 변수는 모든 헤더 정보를 포함, 당신은 쉽게 호출하여 mod_python을을 사용하여 사용자 에이전트에 액세스 할 수 있습니다 :이 방법을 사용하는 경우

req.headers_in[ 'User-Agent' ] 

req.add_common_vars()를 호출 할 필요는 없습니다. 당신은 아주 좋은 플러그인 httpagentparser에게 추출물 모든 세부 사항을이

request.META['HTTP_USER_AGENT'] 

같은 사용자 에이전트를 얻고 그것을 사전을두고 -framework

2

당신은 장고를 사용하는 경우.

설치 내가 뭔가 유용한 :)

을 찾을 때까지 약 30 분을 봤 ...이 도움이 핍을 통해

pip install httpagentparser 

희망을 작동

관련 문제