如何使用Python从具有身份验证密钥的URL下载JSON文件

如何使用Python从具有身份验证密钥的URL下载JSON文件,python,json,api,authentication,download,Python,Json,Api,Authentication,Download,我试图从一个使用用户名和密码(API服务)访问的网站下载JSON文件,但没有成功 我在用蟒蛇3 使用下面的一个,我得到一个“无效语法”错误: NG_AT = urllib.request.urlretrieve(('https://agsi.gie.eu/api/data/AT?limit=7', auth=(username, api_token)), 'AT.json') 我需要能够将上述链接中存在的.json文件直接下载到名为“AT.json”的文件。您可以使用python中的请求库 安

我试图从一个使用用户名和密码(API服务)访问的网站下载JSON文件,但没有成功

我在用蟒蛇3

使用下面的一个,我得到一个“无效语法”错误:

NG_AT = urllib.request.urlretrieve(('https://agsi.gie.eu/api/data/AT?limit=7', auth=(username, api_token)), 'AT.json')

我需要能够将上述链接中存在的
.json
文件直接下载到名为“AT.json”的文件。

您可以使用python中的请求

安装时请使用:

pip install requests
并运行以下代码:

import requests
headers = {
    "Host": "agsi.gie.eu",
    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.5",
    "Accept-Encoding": "gzip, deflate, br",
    "Connection": "keep-alive",
    "Upgrade-Insecure-Requests": "1"
}
resp = requests.get("https://agsi.gie.eu/api/data/AT?limit=7", headers=headers)
with open("AT.json", "w") as my_file:
    my_file.write(resp.text)

下面是如何使用API键获取内容响应

from requests import request
headers = {"x-key": "your_apikey_goes_here"}
r = request(method="GET",url="https://agsi.gie.eu/api/data/AT?limit=7", headers=headers)

请发布整个错误谢谢,我已经尝试过这个方法了,但是无法从Python中的响应转移到其他东西,比如字典或列表。但我的问题的第二个答案提供了解决方案。谢谢,最后一部分是我需要的:''用open(“AT.json”,“w”)作为我的_文件:my_file.write(resp.text)''