我的代码是:
self.ip = self.bot.get('https://icanhazip.com').content.rstrip().decode()
我想用https://ipinfo.io
替换https://icanhazip.com
,但我不知道如何提取 ip
返回:
$ curl "ipinfo.io"
{
"ip": "xx.xx.xx.xx",
"city": "",
"region": "",
"country": "xx",
"loc": "xx.xxx.xx.xxx",
"org": "xxxxxxx Communication Company (Private Joint Stock)"
}
最佳答案
不清楚您在 self.bot.get
中使用的是哪个 HTTP 库,但是对于通用库(其中 content
返回一个字符串),您可以解析使用 json.loads
手动处理 JSON 响应:
import json
# ...
ip = json.loads(self.bot.get('https://ipinfo.io').content).get('ip')
如果您使用 requests
,您可以直接使用 json()
读取 JSON 响应响应方法:
ip = self.bot.get('https://ipinfo.io').json().get('ip')
关于python - 在 Python3 中解析 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47518057/