Пытаюсь зайти на сайт с помощью JSOUP через эту страницу.
Не получается авторизоваться. Вот мой код:
Connection.Response res = Jsoup
.connect("https://forum.grodno.net/")
.method(Connection.Method.GET)
.execute();
Document document = Jsoup.connect("https://forum.grodno.net/index.php?action=login")
.userAgent("Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0")
.data("frmLogin[user]", "тут логин", "frmLogin[passwrd]", "тут пароль")
.cookies(res.cookies())
.post();
Вот скрин кода формы:
Помогите пройти авторизацию.
У меня получился такой класс:
import org.apache.commons.codec.digest.DigestUtils;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
public class Main {
private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0";
// credentials
private static final String USER_NAME = "";
private static final String PASSWORD = "";
public static void main(String[] args) throws Exception {
final Connection.Response res = Jsoup
.connect("https://forum.grodno.net/index.php?action=login")
.userAgent(USER_AGENT)
.validateTLSCertificates(false)
.method(Connection.Method.GET)
.execute();
final String sessionAttr = res.parse()
.body()
.getElementById("frmLogin")
.attr("onsubmit")
.replaceAll("hashLoginPassword\\(this, '", "")
.replaceAll("'\\);", "");
final Connection.Response res2 = Jsoup
.connect("https://forum.grodno.net/index.php?action=login2")
.userAgent(USER_AGENT)
.cookies(res.cookies())
.header("Content-Type", "application/x-www-form-urlencoded")
.header("Referer", "https://forum.grodno.net/index.php?action=login2")
.header("Upgrade-Insecure-Requests", "1")
.header("Cache-Control", "no-cache")
.data("user", USER_NAME)
.data("passwrd", PASSWORD.replaceAll(".", "*"))
.data("cookielength", "9000")
.data("hash_passwrd", hashLoginPassword(USER_NAME, PASSWORD, sessionAttr))
.validateTLSCertificates(false)
.method(Connection.Method.POST)
.execute();
System.out.println(res2.cookies());
System.out.println(res2.statusCode());
}
private static String hashLoginPassword(String user, String password, String sessionAttr) {
return DigestUtils.sha1Hex(DigestUtils.sha1Hex(user.toLowerCase() + password) + sessionAttr);
}
}
Требуемые зависимости:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.1</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите,отправляю на сервер текст + файлФайл - фото
Здравствуйте! я начинающий прогер и не могу разобраться помогите пожалуйстаЕсть NavigationView и несколько фрагмент страничек
Помогите разобратьсяИнтересует, почему если добавлять панель на фрейм , указывая BorderLayout