本文实例讲述了Python使用django获取用户IP地址的方法。分享给大家供大家参考。具体如下:
函数实现:
1
2
3
4
5
6
7
8
9
10
|
def get_client_ip(request):
try :
real_ip = request.META[ 'HTTP_X_FORWARDED_FOR' ]
regip = real_ip.split( "," )[ 0 ]
except :
try :
regip = request.META[ 'REMOTE_ADDR' ]
except :
regip = ""
return regip
|
问题是会在有的地方不好使,检测发现request.META根本无key值等于HTTP_X_FORWARDED_FOR和REMOTE_ADDR。服务器采用nginx+fastcgi实现。
解决办法:
在nginx的fastcgi配置中加入如下:
fastcgi_param REMOTE_ADDR $remote_addr;
希望本文所述对大家的Python程序设计有所帮助。