python - 尽管它是正确的,但 Spotify 发布请求会向我抛出“无效凭据”错误
问题描述
我正在尝试发出 POST 请求以登录 Spotify。但是,尽管我的用户名和密码正确,但它告诉我它是无效的。
我尝试稍微改变一下我的有效载荷,但没有任何效果。
def __init__(self, url):
self.url = url
self.session = requests.session()
def login(self, username, password):
payload = {'remember': True, 'username': username, 'password': password}
dest = self.session.post(url=self.url, data=payload)
self.session.close()
登录网址:
https://accounts.spotify.com/password/login
这是后期数据:
remember=
username=
password=wewe
recaptchaToken=-
csrf_token=
我不知道该放什么作为recaptchaToken,csrf_token
所以我没有包括那些。
我期望成功登录,但得到了这个:
{"error":"errorInvalidCredentials"}
解决方案
我建议您使用 API 登录而不是主登录页面。这csrf_token
是必要的,您需要先从主页 cookie 中捕获它,然后在标题中包含 cookie。
如果您不想进行多次重定向,您可以使用无头浏览器,例如phantomjs
,googledriver
和firefoxdriver
我在 Spotify 中看到了许多变化,因此请确保您的代码是最新的。
推荐阅读
- swift - NSManagedObject.entity() - 未初始化
- javascript - 如何将类重写为函数构造函数
- pyspark - Pyspark:将多类分类结果提取为不同的列
- node.js - 如何在mongodb中实现updateMany
- kubernetes - 如何让 kubernetes “kubectl apply”不更新现有部署
- gnuplot - 使用 gnuplot 对点进行分类
- php - 仅在未应用优惠券时设置最低订单价值
- java - 为什么在我的情况下 Spring Boot Actuator 不显示 /info、/actuator 端点?
- mysql - MySQL根据另一个表的结果批量更新一个新表
- laravel - Laravel echo,推送器未在私人频道上进行身份验证