Flask实现获取ip归属地

平常查ip的归属地,都到ip138.com去查,想着自己用Flask写一个,支持同时获取多个ip的归属地。如下截图

214755_pO3z_1588616.png

 

Flask后端实现如下,前端把数组转为json发给后台,后台以json返回前端转为数组。Flask安装了个pyqqwry,pyqqwry提供简便的方法把ip的归属地查出来,可以使用pip install pyqqwry进行安装:

#查找ip归属地
from pyqqwry.qqwry import QQWry
@app.route('/ip/gsd')
def ip_gsd():
    mywant = []
    ip = request.values.get("ip")
    if ip:
        ips = json.loads(ip)
        qq_wry = QQWry('/usr/local/src/flask/QQWry.dat')
        for ip_one in ips:
            rst = qq_wry.query(ip_one)
            result = " ".join(rst)
            if result:
                json_result = {}
                json_result['ip'] = ip_one
                json_result['result'] = result
                mywant.append(json_result)
                #app.logger.debug(mywant)
        return json.dumps(mywant)
    else:
        return 'not find ip'

 

前端代码如下,获取文本转为数组,再转为json传给后端:

<script type="text/javascript">
        $(document).ready(function(){
            $("#button_ipgsd").click(function(){
                mywant = ''
                ipgsd = $("#text_ipgsd").val();
                ips = ipgsd.trim().split('\n');
                ips_json = JSON.stringify(ips);
                $.get("/ip/gsd?ip="+ips_json,function(data,status){
                    result = JSON.parse(data);
                    for(i = 0 ; i < result.length; i++){
                        mywant = mywant + result[i]['ip']+','+result[i]['result']+'\n'
                    }
                    $("#ipgsd_result").html(mywant);
                });
            });
        });
    </script>

 

最后附上本人的网络课堂地址,如有兴趣请点击: 实践哥

转载于:https://my.oschina.net/zhuangweihong/blog/856604

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值