gpt4 book ai didi

Python 请求。错误 403

转载 作者:行者123 更新时间:2023-12-03 19:41:28 27 4
gpt4 key购买 nike

我正在尝试从 thetvdb.com ( https://api.thetvdb.com ) 访问 API v2。不幸的是,我总是收到 403 错误。

这是我所拥有的:

#!/usr/bin/python3
import requests

url = "https://api.thetvdb.com/login"
headers = {'content-type': 'application/json'}
payload = {"apikey":"123","username":"secretusername","userkey":"123"}
post = requests.post(url, data = payload, headers = headers)
print(post.status_code, post.reason)

根据 API 文档,我必须进行身份验证才能获得 token 。但我只是得到 403 Forbidden。

现在我用 curl 试了一下:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: 
application/json' -d
{"apikey":"123","username":"secretusername","userkey":"123"}'
'https://api.thetvdb.com/login'

这工作得很好。谁能解释我缺少什么?这让我发疯。

我也试过
post = requests.post(url, data = json.dumps(payload), headers = headers)

同样的错误。

最佳答案

您必须 explicitlypayload 转换为 json 字符串并作为 data 传递。看起来您已经完成了,您也可以尝试将用户代理设置为 curl/7.47.1

headers = {'content-type': 'application/json', 'User-Agent': 'curl/7.47.1'}
post = requests.post(url, data = json.dumps(payload), headers = headers)

该程序看起来像
#!/usr/bin/python3
import requests
import json

url = "https://api.thetvdb.com/login"
headers = {'content-type': 'application/json', 'User-Agent': 'curl/7.47.1'}
payload = {"apikey":"123","username":"secretusername","userkey":"123"}
post = requests.post(url, data = json.dumps(payload), headers = headers)
print(post.status_code, post.reason)

关于Python 请求。错误 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41361444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com