获取访问用户的IP地址及IP归属地
Web开发 . 2019/11/08发布 . shanyonggang_web . 我要评论 . 202阅读

安装第三方库

本次使用的ip地址获取第三方库是:django-ipware,通过pip install django-ipware安装即可,具体说明请查看github-django-ipware

views.py里调用

具体代码如下(博主仅仅统计了IP访问首页的次数):

# 导入ip地址包
from ipware.ip import get_ip

# Create your views here.
# 博客主页
def blog_list(request):
    # 统计某IP地址访问主页的次数
    ip_address = get_ip(request)
    print(ip_address)
    ip_exist = models.SeeMyWebsite.objects.filter(ip_address=ip_address)
    if ip_exist:
        ip_exist = models.SeeMyWebsite.objects.get(ip_address=ip_address)
        ip_exist.visit_number += 1
        ip_exist.save()
    else:
        ip_location = ip_location_baidu(ip_address)
        models.SeeMyWebsite.objects.create(ip_address=ip_address,ip_loaction=ip_location)

IP归属地查询

博主采用的是淘宝提供的API查询接口,点击www.ip.taobao.com即可详细查询API文档,此处记得安装并引入requests请求库

import requests
# 获取用户ip归属地
def ip_location_baidu(ip):
    response = requests.get('http://ip.taobao.com/service/getIpInfo.php?ip=%s' % ip)
    if response.json()['code'] == 0:
        data = response.json()['data']
        country = data['country']   # 国家
        # area = data['area']   # 区域
        region = data['region']  # 地区
        city = data['city']  # 城市
        isp = data['isp']  # 运营商
        ip_location = country+region+city+isp
    else:
        ip_location = '未查询到!'
    return ip_location

        这样就可以知道访问我们网站的ip地址了,如下图:


  • 有疑问请在下方评论区留言,我会尽快回复。
  • Email私信我: 511248513@qq.com 或添加博主 微信
本文作者:shanyonggang_web
发布时间:2019年11月8日 10:08
许可协议: 署名-非商业性使用 4.0 国际许可协议
知识共享许可协议     转载请保留原文链接及作者
正在加载今日诗词....
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的


登录 后回复

当前暂无评论,点击登录来做第一个吃螃蟹的人吧!