Я взял код из вашего вопроса и изменил его:
import requests
url = 'http://localhost/test/login.php'
values = {'username': 'admin', 'password': 'wrongpwd'}
r = requests.post(url, data=values)
print(r.url) # prints the final url of the response
Вы можете знать, что это точно, потому что это задокументировано в исходном коде . Все, что я сделал, это открыл определение класса Response
.
Теперь вернемся к исходному вопросу.
Модуль запросов Python для проверки успешности входа в систему HTTP илине
Это зависит от того, правильно ли реализован веб-сайт.
Когда вы отправляете форму, любой веб-сайт отвечает вам HTTP-ответом, который содержит код состояния. Правильно реализованный веб-сайт возвращает разные коды состояния в зависимости от того, что вы отправили. Вот их список . Если все будет честно, код состояния ответа будет 200
:
import requests
url = 'http://localhost/test/login.php'
values = {'username': 'admin', 'password': 'wrongpwd'}
r = requests.post(url, data=values)
print(r.status_code == 200) # prints True
Если пользователь ввел неправильные учетные данные, код состояния ответа будет 401
(см. список выше). Теперь, если веб-сайт не реализован должным образом, он все равно ответит 200
, и вам придется угадывать, успешен ли вход в систему, основываясь на других вещах, таких как response.content
и response.url
.