获取本机IP地址

我在家里放了一个树莓派,作为服务器使用,经常需要登陆使用,但是家里的网络是动态IP,无奈只能使用ddns(动态dns)的方式。之前使用的是https://dns.he.net/,但是这个经常会被墙。
我现在使用的是python获取本机IP地址,然后通过cloudflare的API更新IP解析,实现ddns的效果。

python脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/python
#date: 2019-05-09
#author: ybh
from lxml import etree
import requests
url = "https://ip.newb.ga"
r = requests.get(url)
ip = r.json()['ip']

print(ip)
cloudflare_api = "https://api.cloudflare.com/client/v4/zones/xxxxxxxxxxxxxxxxxxx/dns_records/xxxxxxxxxxxxxxxxxxxxxxxx"
params = {}
params['type'] = 'A'
params['name'] = 'git'
params['content'] = str(ip)
headers = {"Content-Type": "application/json",
"X-Auth-Email": "704523059@qq.com",
"X-Auth-Key": "xxxxxxxxxxxxxxxxxxxxxxxxxxx"}
req = requests.put(cloudflare_api, json=params, headers=headers)
print(req.text)

其中使用到的https://ip.newb.ga是自己写的一个服务,可以看我的github.
然后设置定时跑脚本,更新IP。
现在就可以愉快的连接树莓派了。

0%