-1

純粋な python (Django ではない) で 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

3 に答える 3

0

ローカル マシンについて話している場合、簡単な Google 検索で次のことがわかりました。

Python の stdlib を使用してローカル IP アドレスを見つける

于 2013-02-27T19:13:12.670 に答える
0

accept以前の呼び出しの結果であるソケット オブジェクトがあると言っているようです。その場合、そのソケット オブジェクトには次のgetpeername属性があります。

result = descriptor.getpeername()

IP ソケットの場合、結果は(hostaddr, port)ペアになります。

于 2013-02-27T19:19:53.193 に答える
-1

ソケットモジュールを使用してローカルIPアドレスを取得できます

>>> import socket
>>> socket.gethostbyname(socket.gethostname())
于 2013-02-27T19:13:19.563 に答える