首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取HTTPConnectionPool数据

获取HTTPConnectionPool数据
EN

Stack Overflow用户
提问于 2018-01-15 03:43:10
回答 2查看 219关注 0票数 1

我使用一个开放的API,使用它的访问键获取下面的信息:

代码语言:javascript
运行
复制
HTTPConnectionPool(host='freeipapi.17mon.cn', port=80): Max retries exceeded with url: /183.11.178.118 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x103780780>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known',))
{'status': 0, 'address': 'CN|广东|深圳|None|CHINANET|0|0', 'content': {'address_detail': {'province': '广东省', 'city_code': 340, 'street': '', 'city': '深圳市', 'district': '', 'street_number': ''}, 'address': '广东省深圳市', 'point': {'x': '12693451.44', 'y': '2560682.35'}}}

你看,后面的数据{'status': 0, 'address': 'CN|广东|深圳|None|CHINANET|0|0', 'content': {'address_detail': {'province': '广东省', 'city_code': 340, 'street': '', 'city': '深圳市', 'district': '', 'street_number': ''}, 'address': '广东省深圳市', 'point': {'x': '12693451.44', 'y': '2560682.35'}}}是我的需要。

我怎么才能拿到呢?

守则如下:

代码语言:javascript
运行
复制
import urllib, urllib.request
import json

ak_url="http://api.map.baidu.com/location/ip"

result = requests.get(ak_url,{"ip":"183.11.178.1","ak":BAIDU_IPADDR_AK})

print(result.json())  # There prints the upper data.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-17 07:30:06

您的数据实际上由result.json()返回。

也许您对额外的HTTPConnectionPool细节感到困惑。

这可能表示result.json()具有自定义表示(如它实现了__repr____str__),并在打印时在幕后追加数据。

票数 2
EN

Stack Overflow用户

发布于 2018-01-17 07:36:43

使用请求。容易多了。pip install requests

然后:

代码语言:javascript
运行
复制
import requests

ak_url="http://api.map.baidu.com/location/ip"
BAIDU_IPADDR_AK = 'test'
result = requests.get(ak_url,{"ip":"183.11.178.1","ak":BAIDU_IPADDR_AK})
print(result.json())

我得到了这个结果:

代码语言:javascript
运行
复制
{'status': 200, 'message': 'APP不存在,AK有误请检查再重试'}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48256681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档