https://github.com/Coxhuang/django-ip.git
python3.6
Django==2.0.7
from django.shortcuts import HttpResponse
import requests
import re
import time
def get_localhost_ip(request):
response = requests.get("http://" + str(time.localtime().tm_year) + ".ip138.com/ic.asp")
ip = re.search(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", response.content.decode(errors='ignore')).group(0)
print(ip)
return HttpResponse("localhost_ip : %s"%ip)
localhost_ip : 61.145.167.223
ALLOWED_HOSTS = ["*"]
def get_request_ip(request):
try:
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0] # 所以这里是真实的ip
else:
ip = request.META.get('REMOTE_ADDR') # 这里获得代理ip
except:
ip = None
return HttpResponse("request_ip : %s" % ip)
request_ip : 127.0.0.1