Python просит отправить веб-форму без имени и значения в ней? - PullRequest
0 голосов
/ 07 октября 2019

Для такой веб-формы я всегда могу использовать 'name': 'value' для отправки кнопки.

<form action="/login.php" method="post">
  <button name="Submit_Button" type="submit" value="Submit">Press Here to Submit</button>
</form>

Python Code

>>> import requests
>>> url = 'https://127.0.0.1/login.php'
>>> payload = {'username': 'user123', 'passwd': 'pwd123', 'Submit_Button': 'Submit'}
>>> r = requests.post(url, data=payload, verify=False)
>>> r
<Response [200]>
>>> r.url
'https://127.0.0.1/successful.php'
>>>

Без кнопки отправки в коде, онане будет работать.

>>> import requests
>>> url = 'https://127.0.0.1/login.php'
>>> payload = {'username': 'user123', 'passwd': 'pwd123'}
>>> r = requests.post(url, data=payload, verify=False)
>>> r
<Response [200]>
>>> r.url
'https://127.0.0.1/login.php'
>>>

Страница входа

https://127.0.0.1/login.php

Если аутентификация прошла успешно, страница будет перенаправлена ​​на

https://127.0.0.1/successful.php

Однако эта веб-форманемного отличается.

https://127.0.0.1/tmui/login.jsp

Я не вижу name и value в кнопке отправки.

<form id="loginform" name="loginform" action="logmein.html?" method="POST" onsubmit="return checkFormBeforeSubmit();" style="display: block;">
    <label>Username</label>
    <input type="text" class="login" name="username" id="username" tabindex="1" autocomplete="off">
    <label>Password</label>
    <input type="password" class="login" name="passwd" id="passwd" tabindex="2" autocomplete="off">
    <button type="submit" tabindex="3">Log in</button>
</form>

Посмотрите на код кнопки отправки ... нет name и value в нем.

<button type="submit" tabindex="3">Log in</button>

Итак, я проверил это вручную, и вот мое наблюдение.

Если указан неверный пароль, страница будет перенаправлена ​​на

https://127.0.0.1/tmui/login.jsp?msgcode=1&

и это сообщение появляется в форме

Message: `Login failed`

Если указан правильный пароль, страница будет перенаправлена ​​на

https://127.0.0.1/xui/

Что мне нужно сделать, чтобы отправить такую ​​форму с помощью PythonМодуль запросов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...