我試圖用Flask訪問用戶代理,但我無法找到它的文檔,或者它不告訴我。如何使用Flask獲取用戶代理?
79
A
回答
129
from flask import request
request.headers.get('User-Agent')
您還可以使用request.user_agent
對象,包含基於用戶代理字符串創建以下屬性:
- 平臺(Windows,Linux和MacOS的,等)
- 瀏覽器(chrome,firefox,msie等)
- 版本
- 語言
- 字符串(
== request.headers.get('User-Agent')
)
19
flask.request.user_agent.string
12
如果使用
request.headers.get('User-Agent')
你可能會得到: 的Mozilla/5.0(Windows NT的6.1; WOW64)爲AppleWebKit/537.36(KHTML,例如Gecko)Chrome瀏覽器/ Safari瀏覽器45.0.2454.101/537.36
如果使用
request.user_agent
你可能會得到這樣的:
- user_agent.platform:窗戶
- user_agent.browser:鉻
- user_agent.version:45.0.2454.101
- user_agent.language :無
- user_agent.string:Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/45.0.2454.101 Safari/537.36
1
UA通常不包含語言。如果你想獲得在瀏覽器中設置的語言,你可以使用
request.accept_languages
它會給你語言列表。例如。
LanguageAccept([('en-US', 1), ('en', 0.5)])
要訪問的第一個值,你可以使用
request.accept_languages[0][0]
這將導致字符串
'en-US'
關於「accept_language」頭的詳細信息:https://www.w3.org/International/questions/qa-lang-priorities
相關問題
- 1. 使用Android API獲取用戶代理
- 2. Flask用戶管理
- 3. 如何使用Flask獲取客戶端的端口?
- 4. SQL Server:插入獲取用戶代理
- 5. 通過代理獲取用戶IP。
- 6. 獲取用戶代理在Android Wear
- 7. 據用戶代理如何使用Apache
- 8. 如何在實現Python Flask-Security時獲取當前用戶?
- 9. 如何從KeyChain獲取代理主機的用戶名?
- 10. 如何從$ _SERVER獲取用戶代理類型php
- 11. 如何在iOS上獲取用戶代理?
- 12. 如何在PHP中獲取用戶代理
- 13. 如何在iOS 4.x上獲取/設置用戶代理?
- 14. 如何在ruby中獲取ip地址,referer和用戶代理?
- 15. 如何獲取NSURLConnection中的默認用戶代理字符串?
- 16. 如何使用用戶代理爲Ipad刮取網站?
- 17. 使用LWP ::用戶代理從網站試圖獲取時
- 18. 如何使用.NET代碼獲取用戶的IP地址?
- 19. 如何使用Flask-USER管理來保護Flask-RESTful?
- 20. 使用Flask從POST獲取值列表
- 21. 如何使用Flask OAuthlib獲取Gmail郵件?
- 22. 如何在Flask上使用ImmutableMultiDict獲取嵌套字典的值?
- 23. 如何使用flask-appbuilder獲取在modelview中上傳的文件?
- 24. 如何使用Flask/Jinja2獲取基礎URL?
- 25. 如何使用Python和Flask獲取請求變量的值
- 26. 如何使用RNetLogo提取代理集?
- 27. 如何使用AuthToken獲取AdSense管理帳戶信息?
- 28. 如何使用用戶代理使用Wget下載網頁
- 29. 如何使用https://microsoft.graph.com和GraphServiceClient獲取代理地址
爲什麼語言無?有一種簡單的方法來獲得語言嗎? – Faminator 2016-01-11 17:35:03
@Faminator如果客戶的瀏覽器不設置語言字段,那麼服務器無法獲取它,所以它只顯示無。 – ffledgling 2016-02-18 12:26:15