如何解决 Python 请求的 405 错误?

时间:2021-03-07 11:01:57

标签: python python-3.x python-requests http-status-code-405

我正在尝试使用 requests 库通过 Python 脚本登录网站,但我不断收到 405 错误,我不知道为什么会收到它。

import requests

payload = {
'guid': 'xxxxx',
'password': "xxxx"
}

head = {'Host': 'www.blockchain.com',
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36',
'Upgrade-Insecure-Requests': '1',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9'
    }

#This URL will be the URL that your login form points to with the "action" tag.
url_address = 'https://login.blockchain.com/#/login'

with requests.Session() as session:
    post = session.post(url_address, data=payload, headers = head, allow_redirects=True)

print(f'{post}')

我检查了表单,输入字段的名称似乎也正确。

我的代码做错了什么?

passname here loginname here

1 个答案:

答案 0 :(得分:0)

这是typescript-tuplealready answered上由Server Fault制作的@Samit

<块引用>

405 状态码响应意味着您尝试的 HTTP 方法不是 允许。比如说,如果服务器上不允许 PUT 请求,它会 使用响应代码 PUT 拒绝客户端的 405 Method not allowed 请求。

因此,在您的情况下,也可能不允许 POST 方法用于 您正在发送请求,而该请求只是拒绝您 通过发送 POST 错误响应来发出任何 405 请求。