Невозможно отправить учетные данные для входа через POST [Python] - PullRequest
0 голосов
/ 24 апреля 2020

Я создал очень простую систему входа в систему. Она работает хорошо, когда я вручную вхожу. Теперь я пишу python программу для входа в мою систему с помощью запроса POST, но она не работает.

Ниже приведено код python, над которым я работаю. Когда я запускаю эту программу, она почему-то не может пройти аутентификацию и показывает содержимое исходной страницы самой страницы входа. Я ожидаю увидеть содержимое исходной страницы зарегистрированного от пользователя (в данном случае, от администратора).

import requests 
url = "http://127.0.0.1/userregistration/login.php"
info = {'user': 'admin', 'password': 'password', 'Submit': 'submit'}
response = requests.post(url, data=info)
print(response.text)

это исходный код моей системы входа в систему.

<html>
<form action='validation.php' method='post'>
<fieldset>
    <legend>Login</legend>
    <label>UserName</label>
    <input type='text' name='user'>
    <label>Password</label>
    <input type='password' name='password'>
    <input type='submit' name='Submit' value='Login' >
</fieldset>
</form>
</html>

Не могли бы вы дать мне несколько советов? Спасибо !!

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Я думаю, вам нужно отправить данные формы вместо json.

Возможно, ваш вопрос связан с этим

0 голосов
/ 24 апреля 2020

страница входа - ваш реферер, а страница подтверждения - то, куда вы отправляете свой запрос на публикацию.

Попробуйте этот подход:

import requests 
url = "http://127.0.0.1/validation.php"
headers = {'referer': 'http://127.0.0.1/userregistration/login.php'}
info = {'user': 'admin', 'password': 'password', 'Submit': 'submit'}
response = requests.post(url, data=info,headers = headers )
print(response.text)

другая идея заключается в том, что вы не отправляете право отправьте параметры для отправки, значение которого является логином, и вы передаете его неправильно

import requests 
url = "http://127.0.0.1/userregistration/login.php"
info = {'user': 'admin', 'password': 'password', 'Submit': 'Login'}
response = requests.post(url, data=info)
print(response.text)
...