2013-02-27 204 views
-1

有沒有什麼方法可以在純Python(不是Django)中獲取IP地址?如何在Python中獲取IP地址

我發現代碼在下面,但我沒有Request對象。

def get_client_ip(request): 
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') 
    if x_forwarded_for: 
     ip = x_forwarded_for.split(',')[-1].strip() 
    else: 
     ip = request.META.get('REMOTE_ADDR') 
    return ip 
+4

IP地址是什麼? – wRAR 2013-02-27 19:11:10

+0

提出請求服務的用戶的IP。這是Tornado中的WebService。 – ECC 2013-02-27 19:13:32

+2

你有沒有想過也許告訴我們這個? – daveydave400 2013-02-27 19:13:56

回答

-1

您可以使用插座模塊

>>> import socket 
>>> socket.gethostbyname(socket.gethostname()) 
+0

python3.4我只能通過這種方式獲得'127.0.0.1' – 2015-10-04 12:11:41

0

獲得本地IP地址這聽起來像是你說你有一個套接字對象,它是早期的accept調用的結果。如果是這樣,插座對象有一個getpeername屬性:

result = descriptor.getpeername() 

如果它是一個IP套接字的結果將是(hostaddr, port)對。