Python 获取IP地址并通过IP查询归属地
Python 获取IP地址并通过IP查询归属地。
不知道从啥时候起,国内的大论坛评论,回答啥的都已经开始显示IP地址,也可能是因为之前网暴啥的太多,来警戒部分网名网络不是不法之地。还有一些无脑地域黑的。
刚好自己的博客之后也有这个需求,就学习一下。
python获取ip
要获取地址当然就是要先获取ip,然后通过接口查出地址。 这边我用的是nginx代理搭的网站,接口框架是flask。
- 1
- 2
from flask import request
ip = request.remote_addr
假如此方法直接获取ip那么得到的因为nginx反代得到的是127.0.0.1。
那么在nginx配置里我们要把ip地址加载请求header里
nginx配置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
server {
listen 80;
server_name manage.kedong.me;
location / {
root /root/blogmanage/dist;
index index.html index.htm;
}
location /api {
proxy_pass http://127.0.0.1:5000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
就可以在request.headers里取到IP了
通过ip获取地址
找的网上的接口 https://ip-api.com/ ,之后万一失效就在找,我测试好像这个接口必须翻墙才能用,服务器在国内的可能要另外找一个,代码就用requests直接请求下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
from flask import request
import requests
def user_ip():
ip = request.headers.get("X-Real-IP")
url = 'http://ip-api.com/json/{0}?lang=zh-CN'.format(ip)
r=requests.post(url)
return r.json()
改变自己的归属地
那么网上的归属地显示无非是改变自己的ip,如果我们代理一下就可以改变了。
比如我用的v2ray 改改代理 把路由改全局在知乎上就变了
选了个香港的
选了个台湾的
当然现在真要查来源还是肯定有方法查到,除非你都是蒙面现金交易哈哈。
(完)
0条看法
最新最后最热
等待你的评论