Войти на страницу http домена используя запросы - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь войти на локальную веб-страницу, используя username, password и domain. У меня есть для пользователя:

<input name="j_username" class="formStyle" onchange="loadDomainListForADLogin(this)" id="username" type="text">

Для пароля:

<input name="j_password" class="formStyle" id="password" type="password">

и для домена:

<select name="domain" class="formStyle" onchange="checkLocalAuth(this)">
        <option>-- Choose --</option>

          <option value="1"> MYDOMAIN.NET </option>

        <option value="Local Authentication">Local Authentication</option>

      </select>

Я следовал некоторым инструкциям и пытался воспроизвести похожую технику:

import requests, lxml

r = requests.get('http://MyWebPage:8008')

payload = {
    "j_username": "user", 
    "j_password": "passw00rd", 
    "domain": "MYDOMAIN.NET"
}

requests.post(r, data=payload)

Но что-то не так, и код не печатает макет за логином

Ошибка, которую я получаю:

Traceback (most recent call last):
---SNIP---
File "test.py", line 11, in <module>
requests.post(r, data=payload)
requests.exceptions.MissingSchema: Invalid URL '<Response [200]>': No             schema supplied. Perhaps you meant http://<Response [200]>?

1 Ответ

0 голосов
/ 15 мая 2018

Это может быть способ, которым вы обрабатываете url, так как request.get срабатывает и пост ссылается на ответ, полученный из значения get.Если веб-сайту нужен сеанс для правильной работы, вы можете заключить блок запроса в сеанс:

import requests, lxml
url = 'http://MyWebPage:8008'

s = requests.Session()

payload = {
    "j_username": "user", 
    "j_password": "passw00rd", 
    "domain": "MYDOMAIN.NET"
}

s.post(url, data=payload)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...