2012-03-26 23 views

Odpowiedz

129
from flask import request 
request.headers.get('User-Agent') 

Można również użyć obiektu request.user_agent, który zawiera następujące atrybuty, które są tworzone w oparciu o ciągu identyfikującego:

  • platformy (Windows, Linux, MacOS, etc.)
  • przeglądarka (chrome, firefox, msie itp.)
  • wersja
  • język
  • string (== request.headers.get('User-Agent'))
19
flask.request.user_agent.string 
12

Jeśli używasz

request.headers.get('User-Agent') 

można uzyskać: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537,36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537,36

Jeśli używasz

request.user_agent 

można uzyskać tak:

  • user_agent.platform: Okna
  • user_agent.browser: chrom
  • user_agent.version: 45.0.2454.101
  • user_agent.language : Brak
  • user_agent.string: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, jak Gecko) Chrome/45.0.2454.101 Safari/537.36
+0

Dlaczego język Czy istnieje prosty sposób na uzyskanie języka? – Faminator

+0

@Faminator, jeśli klient przeglądarka nie ustawia pola języka, a serwer nie ma możliwości jego uzyskania, dlatego po prostu pokazuje Brak. – ffledgling

1

UA zwykle nie zawiera języka. Jeśli chcesz ustawić język w przeglądarce, możesz użyć tej opcji, aby uzyskać listę języków. Na przykład.

LanguageAccept([('en-US', 1), ('en', 0.5)]) 

Aby uzyskać dostęp do pierwszej wartości, można użyć

request.accept_languages[0][0] 

co spowoduje ciąg

'en-US' 

Szczegółowe informacje o „accept_language” Header: https://www.w3.org/International/questions/qa-lang-priorities

Powiązane problemy