Python 如何使用请求库登录此网站?
我正在写一个非常简单的网页刮板,但我需要登录到一个特定的网站,这需要填写表格 我所说的网站链接:“ 表单使用此负载向此终结点“”发送POST请求:Python 如何使用请求库登录此网站?,python,python-requests,Python,Python Requests,我正在写一个非常简单的网页刮板,但我需要登录到一个特定的网站,这需要填写表格 我所说的网站链接:“ 表单使用此负载向此终结点“”发送POST请求: {"user": {"login": "my email address","password": "my password"}} 我用Chrome开发工具解决了这个问题 问题在于我的代码。我尝试用这个负载发送POST请求,但问题是它返回了一个错误,我不知道如何解决它 它返回以下错误: { "message": "Nieznana meto
{"user": {"login": "my email address","password": "my password"}}
我用Chrome开发工具解决了这个问题
问题在于我的代码。我尝试用这个负载发送POST请求,但问题是它返回了一个错误,我不知道如何解决它
它返回以下错误:
{
"message": "Nieznana metoda autentykacji"
}
它被翻译成“未知身份验证方法”
我还检查了我的请求返回的状态码,它是400
我的代码:
导入请求
导入json
从bs4导入BeautifulSoup
Podrabiamy类:
定义初始化(自):
self.login_url=”https://odrabiamy.pl/api/v1.3/sessions.json"
self.data={“用户”:{“登录”:“xxxxxxxx”,“密码”:“xxxxxxxx”}
self.headers={'content-type':'application/json'}
def登录(自我):
将requests.Session()作为会话:
response=session.post(self.login\u url,data=json.dumps(self.data),headers=self.headers)
打印(response.content)
打印(响应状态\ U代码)
如果名称=“\uuuuu main\uuuuuuuu”:
podrabiamy=podrabiamy()
podrabiamy.login()
除了有效负载之外,请求中没有其他内容吗?Chrome开发者工具可以让你发现这一点,对吧?是的,我还尝试使用Chrome开发者工具计算出的响应头中的值附加“用户代理”键,但没有成功。我还尝试使用多个响应头,但我无法理解。是否尝试附加cookie?是否确定它不会将信息作为正文而不是数据传递?在同一会话中的POST请求之前,向主URL发送GET请求。另外,我建议传递所有请求头。