Как авторизоваться на сайте с выпадающим списком (домен), используя request?

109
28 марта 2021, 13:40

Есть сайт servicedesk

Есть рабочий скрипт для локальной авторизации

s = requests.Session()
url = 'https://~.ru/j_security_check'
s.get(url)
data = dict(j_username='test', j_password='test')
s.post(url, data=data)

Хочу выполнить вход под доменной у/з, j_security_check ругается.

Смотрел по Network в IE (F12) в POST, там примерно следующее:

Для локальной (успешный вход)

j_username=test&j_password=test&domain=Local+Authentication&LDAPEnable=false&hidden=Select+a+Domain&hidden=For+Domain&AdEnable=true&DomainCount=0&LocalAuth=No&LocalAuthWithDomain=No&dynamicUserAddition_status=true&localAuthEnable=true&logonDomainName=Local+Authentication&loginButton=

Для доменной (успешный вход)

AUTHRULE_NAME=SDRelationalLoginModule&j_username=user&j_password=userpass&domain=3&DOMAIN_NAME=DOMEN&LDAPEnable=false&hidden=Select+a+Domain&hidden=For+Domain&AdEnable=true&DomainCount=0&LocalAuth=No&LocalAuthWithDomain=DOMEN&dynamicUserAddition_status=true&localAuthEnable=true&logonDomainName=DOMEN&loginButton=

Пробовал код:

s = requests.Session()
url = 'https://~.ru/j_security_check'
s.get(url)
data = dict(j_username='user', j_password='userpass', domain='3', DOMAIN_NAME='DOMEN',
            LocalAuthWithDomain='DOMEN', logonDomainName='DOMEN')
s.post(url, data=data)

Не помогло. Сам блок выбора домена:

<span id="domainListSelect" style="display:block;"> 
            <select name="domain" class="form-control" onchange='checkLocalAuth(this)'> 
              <option>-- Choose Domain --</option> 
 
              <option value="1"> DOMEN1 </option> <!-- NO OUTPUTENCODING --> 
 
              <option value="2"> DOMEN2 </option> <!-- NO OUTPUTENCODING --> 
 
              <option value="3"> DOMEN</option> <!-- NO OUTPUTENCODING --> 
 
              <option value='Local Authentication'>Local Authentication</option> 
 
            </select> 
          </span>

Как реализовать выбор домена в POST?

READ ALSO
Почему не работает слайдер?

Почему не работает слайдер?

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

143
Как пройтись по всем дочерним элементам

Как пройтись по всем дочерним элементам

Как можно пройтись по всем дочерним и дочерним дочерних элементов body и удалить определённый класс, если он есть?

142
Работа с БД в wpf с помощью EF Core

Работа с БД в wpf с помощью EF Core

мне нужно, чтобы при нажатии на кнопку число из textbox попадало в базу данных

106
Динамическое создание TextBox и CheckBox в Grid

Динамическое создание TextBox и CheckBox в Grid

В меня есть такое окно,я открываю файлxml и дессерилизую данные из файла записываю в textboxs,но товаров может быть много текстбоксов может не хватить...

110