Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用请求库登录此网站?_Python_Python Requests - Fatal编程技术网

Python 如何使用请求库登录此网站?

Python 如何使用请求库登录此网站?,python,python-requests,Python,Python Requests,我正在写一个非常简单的网页刮板,但我需要登录到一个特定的网站,这需要填写表格 我所说的网站链接:“ 表单使用此负载向此终结点“”发送POST请求: {"user": {"login": "my email address","password": "my password"}} 我用Chrome开发工具解决了这个问题 问题在于我的代码。我尝试用这个负载发送POST请求,但问题是它返回了一个错误,我不知道如何解决它 它返回以下错误: { "message": "Nieznana meto

我正在写一个非常简单的网页刮板,但我需要登录到一个特定的网站,这需要填写表格

我所说的网站链接:“

表单使用此负载向此终结点“”发送POST请求:

{"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请求。另外,我建议传递所有请求头。