Python使用requests.get调用open-notify接口报10061连接错误如何解决
排查&解决步骤
- 先验证接口本身可访问性:直接在浏览器地址栏输入
https://api.open-notify.org/astros.json,如果浏览器无法正常加载出包含宇航员信息的JSON内容,直接跳过代码排查,优先处理网络连通问题。 - 检查代理/VPN状态:如果当前设备开启了代理或VPN工具,先关闭后重试代码运行;若代理工具未开启全局模式,需要在requests请求中显式配置代理参数,示例代码如下:
import requests # 替换为你本地代理对应的地址和端口 proxies = { "http": "http://127.0.0.1:7890", "https": "http://127.0.0.1:7890" } response = requests.get("https://api.open-notify.org/astros.json", proxies=proxies) print(response.status_code)
- 检查防火墙拦截:临时关闭Windows Defender防火墙以及第三方杀毒软件的网络防护规则,确认是否是规则拦截了Python程序的对外网络请求。
- 验证DNS解析是否正常:在PowerShell中执行命令
nslookup api.open-notify.org,如果无法正常解析到对应IP,可尝试将系统DNS改为公共DNS(如114.114.114.114、8.8.8.8)后重试。 - 替换测试接口验证代码逻辑:如果上述步骤都无效,可替换为国内可正常访问的公开测试接口验证代码是否正确,例如
https://jsonplaceholder.typicode.com/todos/1,如果该接口可正常请求返回状态码200,说明你的代码逻辑没有问题,仅为open-notify接口的网络连通限制导致的问题,可直接用该测试接口继续学习即可。
内容的提问来源于stack exchange,提问作者Ludio B
相关产品推荐
相关产品推荐

