Показать полную графическую версию : [решено] Авторизация на сайте с использованием Form
Uragan66
23-07-2023, 21:09
Доброго времени суток всем!
Что-то запутался с авторизацией на одном форуме. Раньше всё работало, после недавней реконструкции форума вход через powershell не работает.
По запросу получаю такую форму:
$Form
Id Method Action Fields
-- ------ ------ ------
post {[name, ], [password, ], [autowrap, 1]}
Далее пробуй авторизоваться:
$Form.Fields["name"] = "Логин"
$Form.Fields["password"] = "Пароль"
$Form.Fields["autowrap"] = "1"
$rs = Invoke-WebRequest -Uri ("Форум") -WebSession $FB -Method POST -Body $Form.Fields
Но авторизация не проходит.
Может кто подскажет, где я накосячил ? Буду премного благодарен за подсказки и помощь.
через devtools в chrome отследите свой логин и смотрите поля запроса. Если требуется уникальный токен, то и его надо где-то брать.
Uragan66
23-07-2023, 22:28
Sham, в Chrome поля такие же. Уникального токена там нет. Почему не идёт сейчас авторизация, непонятно.
Одно время, после ребрединга форума, на входе выскакивал CloudFlare. Возможно из-за него и не проходит.
-UserAgent браузера добавьте, или скопируйте все http-заголовки из браузера в -Headers. Экспериментируйте. Тут не видно откуда $FB - тоже проверяйте переменную.
Uragan66
01-08-2023, 08:56
-UserAgent браузера добавьте, или скопируйте все http-заголовки из браузера в -Headers. »
Пробовал по-разному. Не проходит авторизация, хоть убей... :(
Форум rsload. Просто нужно каждый день одну тему мониторить, через браузер неудобно.
DJ Mogarych
01-08-2023, 09:14
RSS или подписки на тему нет?
Uragan66
01-08-2023, 16:37
RSS или подписки на тему нет? »
Подписка на эту тему есть, но RSS там вроде нет вообще... Тема "Ключи для сервиса HideMe"
P.S. Проблема в том, что для этой темы авторизация нужна обязательно, так как все посты под хайдом.
всё там проходит. -body 'name=логин&password=пароль&remember=1&autoriz=' -method post
удалите домен.
Uragan66
02-08-2023, 09:30
всё там проходит »
У меня почему-то не хочет. Что неправильно, не пойму...
Invoke-WebRequest -Uri 'Форум' -SessionVariable FB `
-Method "GET" `
-Headers @{
"host"="Форум"
"user-agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0"
"accept"="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"
"accept-encoding"="gzip, deflate, br"
"accept-language"="ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"
"sec-fetch-dest"="document"
"sec-fetch-mode"="navigate"
"sec-fetch-site"="same-origin"
"sec-fetch-user"="?1"
}
$c = Invoke-WebRequest -Uri "Форум" -WebSession $FB `
-Method "POST" `
-Headers @{
"host"="Форум"
"user-agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0"
"accept"="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"
"accept-encoding"="gzip, deflate, br"
"accept-language"="ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"
"origin"="Форум"
"referer"="Форум"
"contenttype"="application/x-www-form-urlencoded"
"sec-fetch-dest"="document"
"sec-fetch-mode"="navigate"
"sec-fetch-site"="same-origin"
"sec-fetch-user"="?1"
} `
-Body "name=Логин&password=Пароль&remember=1&autoriz="
$c.Content
не надо ему -Headers, к тому же там ошибки. Замените на https везде в uri. useragent можно отдельно добавить через -UserAgent. И -UseBasicParsing для старых версий PS
Uragan66
02-08-2023, 12:32
Sham, спасибо большое ! С https и -UseBasicParsing всё заработало. Авторизация проходит и с -Headers и без заголовков...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.