API返回空值且requests库无报错,如何排查故障?

ID:21492 / 打印

api返回空值且requests库无报错,如何排查故障?

无法获取 api 返回数据的排除故障

根据提供的代码,我们尝试分析导致无法获得 api 返回数据的可能原因。

问题复现

原代码尝试通过 post 请求获取 ip 查询 api 的返回数据,但遇到以下问题:

  • api 返回空值。
  • requests 库没有报错。

原因分析

经过仔细检查,我们发现原始代码中存在一个拼写错误:

fields=58898?lang=zh_cn"  # 拼写错误

正确拼写应该是:

fields=58898&lang=zh_cn"

修改后的代码

以下是修改后的代码:

import random import requests import json  ip = [     "49.104.25.257",     "39.115.131.116" ]  api = "http://ip-api.com/batch?fields=58898&lang=zh_CN"  # 更正拼写 headers = {     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0",     "content-type": "application/json" }  ip = json.dumps(ip, ensure_ascii=False, indent=2) print(ip)  resp = requests.post(url=api, data=ip, headers=headers) print(resp.status_code) print(resp.text)  resp.close()

效果验证

运行修改后的代码后,api 返回数据将能够成功获取。

上一篇: Python列表合并后值改变之谜:为什么未赋值列表也会变化?
下一篇: Python列表合并:为什么修改子列表会改变原始列表?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。