首页 > 编程问答 >使用法兰克福 API 和 Python 虚拟环境时出现 404 错误

使用法兰克福 API 和 Python 虚拟环境时出现 404 错误

时间:2024-07-31 14:55:09浏览次数:7  
标签:python python-3.x visual-studio-code python-venv

我正在 Visual Studio Code 中用 Python 制作货币转换器脚本,并且使用法兰克福 API,它在几天前一直工作正常,直到现在每次我尝试获取 API 时都会收到 404 错误:|| |输出:

>     response = requests.get(f"https://api.frankfurter.app/latest?amount={amount}&from={CF}&to={CT}")
>     print("API Response:", response.json())
>     print(response.status_code)

对我来说,虚拟环境总体上非常不一致,我一直在尝试删除并重新创建环境,希望能够修复某些问题,但无济于事。

API Response: {'message': 'not found'}
404
Traceback (most recent call last):
  File "C:\Users\OMEN\Visual Studio\RTCurrencyConverter\Converter.py", line 59, in <module>
    print(f"{amount} {CF} is {response.json()['rates'][CT]} {CT}")
KeyError: 'rates'

Virtual environments for me have been very inconsistent in general and I kept trying to remove and recreate environments hoping that would fix something but to no avail.


404 错误代码表示所请求的资源在服务器上未找到。在这种情况下,看来尝试访问的法兰克福 API 端点 (https://api.frankfurter.app/latest?amount={amount}&from={CF}&to={CT}) 不再可用或存在语法错误。

不过,法兰克福 API 的文档没有指定 amount from to 参数应作为查询参数传递。

以下是修复代码的方法:

import requests

amount = 10
CF = "USD"
CT = "EUR"

response = requests.get(f"https://api.frankfurter.app/{CT}?amount={amount}&from={CF}")

if response.status_code == 200:
  data = response.json()
  print(f"{amount} {CF} is {data['rates'][CT]} {CT}")
else:
  print("API Request Error:", response.status_code)
  print(response.json())

说明:

  1. 正确的端点: 我们在请求 URL 中使用 https://api.frankfurter.app/{CT} 。这与法兰克福 API 文档中指定的方式相符。
  2. 错误处理: 我们在访问 response.json()['rates'][CT] 之前检查响应状态代码是否为 200 (成功)。如果 API 请求失败,这可以防止出现 KeyError

通过这些更改,的代码应该能够成功从法兰克福 API 获取数据。如果问题仍然存在,请确保 API 密钥有效(如果有)并且没有超出 API 使用限制。

标签:python,python-3.x,visual-studio-code,python-venv
From: 78812235

相关文章

  • 我的目标是检测车道并控制车辆保持在车道中央。使用Python
    我目前正在做一个项目,我是一个初学者。并且我需要找到一种方法来使用检测到的车道来控制我的项目车辆保持在两条线之间的中心。img1|||img2我有疑问的话题如下如何判断我的机器人车是否在车道中央?我们应该用什么方法来控制机器人的转向......
  • 【学习笔记】Matlab和python双语言的学习(主成分分析法)
    文章目录前言一、主成分分析法1.主成分分析法简介2.主成分分析法原理3.主成分分析法思想4.PCA的计算步骤二、代码实现----Matlab三、代码实现----python总结前言通过模型算法,熟练对Matlab和python的应用。学习视频链接:https://www.bilibili.com/video/BV1EK41187......
  • 如何使用python输入提示具有相同参数类型但不同返回类型的函数?
    我有一个函数,它的返回类型是tuple[bool,set[int]|str]如果第0项是True,则第1项是结果set[int],否则第1项是一个str,显示失败的原因。是这样的defcallee(para_a:int)->tuple[bool,set[int]|str]:result=set([1,2,3])if......
  • 彻底卸载Python
        前言通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装。所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Python 软件卸载方法1:首先,在安装python时,下载了一个可执行文件,也就是Python的安装包,我们双击它,点击uninstal......
  • 如何使用 Azure Devops API (Python) 提取特定提交的文件内容?
    这就是我想要做的:每次对我的存储库中的特定分支进行提交时,我想提取该提交中更改的所有YAML文件,对其内容进行一些修改,然后将结果作为PR推送到一个新的、独立的分支。我已经弄清楚了这里的大部分步骤,但我陷入了解析提交文件内容部分。我已经尝试过get_item_content和......
  • 在Python中,为什么这个负浮点数能够通过非负while循环测试条件?
    在Python中工作收集用户输入输入需要非负在程序的另一部分成功使用了While条件但现在不明白为什么这个捕获有效输入的测试失败了。print("Howmanygramsofxyzarerequired?")xyz_string=input()xyz=int(float(xyz_string))whilex......
  • 【Python】正色表达式 - 验证罗马数字
    一、题目Youaregivenastring,andyouhavetovalidatewhetherit'savalidRomannumeral.Ifitisvalid,printTrue.Otherwise,printFalse.TraytocreatearegularexpressionforavalidRomannumeral.InputFormatAsinglelineofinputcontainin......
  • 三种语言实现二维差分(C++/Python/Java)
    题目输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1,y1,x2,y2,c其中(x1,y1)和(x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上c。请你将进行完所有操作后的矩阵输出。输入格式第一行包含整数n,......
  • 基于python电力安全员施工培训系统【源码+文档+PPT】
    精彩专栏推荐订阅:在下方主页......
  • 基于python电影院订票信息管理系统【源码+文档+PPT】
    精彩专栏推荐订阅:在下方主页......