Python POST 请求说"Not Acceptable!"



我的学校有一个网站,学生可以在学习期间报名上课,我一直忘记。我正在尝试制作一个登录并为我注册的脚本。这是我所拥有的:

import requests
payload = {
"username": "",
"pwd": "",
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246"
}
with requests.Session() as s:
p = s.post('http://www.bloomingtonsouth.org/plus/login.php', data=payload)
print(p.text)
r = s.get('http://www.bloomingtonsouth.org/plus/student.php')
print(r.text)

输出:"不可接受!

不能接受!

在此服务器上找不到所请求资源的适当表示形式。此错误是由Mod_Security生成的。

不能接受!

不能接受!

在此服务器上找不到所请求资源的适当表示形式。此错误是由Mod_Security生成的。

"

我做错了什么?

编辑 1:

headers = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.9",
"Cache-Control": "max-age=0",
"Connection": "keep-alive",
"Host": "bloomingtonsouth.org",
"Referer": "http://bloomingtonsouth.org/plus/login.php",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"
}
url = "http://www.bloomingtonsouth.org/plus/login.php"
payload = {"username": "", "password": "", "submitted":"TRUE"}
post = requests.post(url, headers=headers, data=payload)
r = requests.get('http://www.bloomingtonsouth.org/plus/student.php')
print(r.text)

我尝试了这个,使用我发现浏览器使用的标题,但它仍然不起作用。

用户代理需要是一个标头,而不是在有效负载中。

login()
def login():
headers = headers - {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246"}
url = "http://www.bloomingtonsouth.org/plus/login.php"
payload = {"username": "", "pwd": ""}
post = requests.post(url, headers=headers, data=payload)

尝试使用此代码登录,如果它不起作用,请告诉我。

如果您有登录的完整网址,您可以使用此在线工具将URL转换为python请求:

https://curl.trillworks.com/

如果您不了解该网站,请发布完整的网址。

最新更新