[英]Getting the remote IP address in Python
如何在Python中獲取遠程IP地址?
我嘗試搜索Google,但找不到任何有用的結果。 os.environ['REMOTE_ADDR']
提供KeyError: 'REMOTE_ADDR'
您正在訪問操作系統的os
環境,而不是request
的。
應將WSGI可調用項傳遞給兩個變量environ
和start_response
,並且該environ
變量將具有您要查找的變量。
如果您正在運行CGI
應用程序,則這些變量只會出現在實際的os.environ
。
根據您使用的Web框架,您可能無權訪問此文件。 如果您傳遞了request
對象,則可能會以request.META
或類似形式結束。
如果你不使用任何框架,這將是在該environ
傳遞給你的WSGI可調用字典 。
作為另一種回答指出, REMOTE_ADDR
沒有成為他們按照規范,但如果你使用Apache的mod_wsgi
,它應該在那里。
如果您有權訪問TCP套接字,則可以使用socket.getpeername()
獲取遠程地址。 文件在這里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.