Python3 获取当前外网IP、地址、运营商

通过 Python3 获取当前外网IP、地址、运营商 此功能仅用于查看本机公网地址,请勿用于其他用途,并遵守中国法律法规。

代码

#!/usr/bin/python3

import json
import requests

## HTTP GET
r = requests.get('https://ipw.cn/api/ip/locate')

##  转成 Python 字典并赋值
ip_detail = json.loads(r.text)

result = ip_detail['result']
IP = ip_detail['IP']
ISP = ip_detail['ISP']
Country = ip_detail['Address']['Country']
Province = ip_detail['Address']['Province']
City = ip_detail['Address']['City']

## 打印
print(result)
print(IP)
print(ISP)
print(Country + ',' + Province + ',' + City)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

执行后输入内容如下:

True
106.224.145.147
电信
中国,江西省,南昌市
1
2
3
4

命令行模式

curl -s ipw.cn/locate |   python -c "import sys, json; print json.load(sys.stdin)['IP']"
1

reference