Django:从开发服务器获取用户IP

时间:2015-05-31 15:05:34

标签: python django

我正在尝试将用户IP放在我发送给用户的页面中。 我试过解释here

所以我的观点如下:

def yourip(request):
    return HttpResponse("Your IP is : %s" % request.META.get('HTTP_X_FORWARDED_FOR'))

request.META.get('HTTP_X_FORWARDED_FOR')会返回None。 是否可以从开发服务器执行此操作?或者其他地方的问题是什么?

谢谢。

2 个答案:

答案 0 :(得分:3)

试试这个:

def get_client_ip(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        print "returning FORWARDED_FOR"
        ip = x_forwarded_for.split(',')[-1].strip()
    elif request.META.get('HTTP_X_REAL_IP'):
        print "returning REAL_IP"
        ip = request.META.get('HTTP_X_REAL_IP')
    else:
        print "returning REMOTE_ADDR"
        ip = request.META.get('REMOTE_ADDR')
    return ip

答案 1 :(得分:0)

在开发服务器中,您无法获取客户端 IP,因此使用 Ngrok

用法: ngrok http