4

ユーザーと場所に関する統計をデータベースに保持したいと思います。たとえば、「Mozilla」、「Firefox」、「Safari」、「Chrome」、「IE」など、バージョン、場合によってはオペレーティングシステムを保存したいと思います。

私がPythonから見つけようとしているのは、この文字列です。

Mozilla / 5.0(X11; U; Linux i686; en-US; rv:1.9.0.14)Gecko / 2009090216 Ubuntu / 9.04(jaunty)Firefox / 3.0.14

Pythonまたはmod_pythonを使用してhttpユーザーエージェント/ブラウザを検出する効率的な方法はありますか?

4

3 に答える 3

3

HTTP_USER_AGENTこの情報が含まれており、アプリケーションが使用する環境変数に渡されます。mod_pythonでは、これは次のように表されます。

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

これは基本的なCGIのことですが、これがmod_pythonが提供する方法です。

于 2009-11-06T19:42:11.597 に答える
3

Jed Smithが提案した方法は機能しますが、もっと簡単な方法があると確信していました。

変数にはすべてのreq.headers_inヘッダー情報が含まれており、mod_pythonを使用して次のコマンドを呼び出すことでユーザーエージェントに簡単にアクセスできます。

req.headers_in[ 'User-Agent' ]

req.add_common_vars()このメソッドを使用する場合は、を呼び出す必要はありません。

于 2010-03-12T16:25:13.340 に答える
3

Django -Frameworkを使用している場合は、次のようなユーザーエージェントを取得します

request.META['HTTP_USER_AGENT']

非常に優れたプラグインhttpagentparserは、すべての詳細を抽出し、辞書に入れます。

インストールはpipを介して機能します

pip install httpagentparser

これがお役に立てば幸いです...私は何か役に立つものが見つかるまで約30分グーグルで検索しました:)

ロン

于 2012-06-20T14:05:53.860 に答える