HTTP协议头其中有几个字段是用来获取IP用的,常见的有HTTP_X_FORWARDED_FOR,REMOTE_ADDR。那么在用Django开发的Web服务获取浏览器IP的思路就是。
当用户通过浏览器访问Web服务时,其实就是向Web主机发起一个HTTP请求,我们可以获取请求头中对应的字段进行处理。代码如下。
if request.META.has_key('HTTP_X_FORWARDED_FOR'):
ip = request.META['HTTP_X_FORWARDED_FOR']
else:
ip = request.META['REMOTE_ADDR']
print(ip)
用户通过浏览器访问Web服务发起HTTP请求=>Django通过其url路由,匹配处理这个请求的视图函数=>之前在视图函数中写了上面的代码=>视图函数处理后将ip输出在终端中。