2015-11-19 3 views
0

Я пытаюсь войти на сайт с помощью Jsoup. Однако после успешного входа в систему мой экземпляр Connection.Response не возвращает никаких файлов cookie. Вот код:Jsoup пустой логин ответное сообщение

Connection.Response res = Jsoup.connect("https://id.wsj.com/access/pages/wsj/us/signin.html?url=http%3A%2F%2Fwww.wsj.com&mg=id-wsj") 
     .data("landing_page", "http://online.wsj.com", "login_realm", "default", "login_template", "default", 
     "username", "username", "password", "password", "savelogin", "checked", "submitButton", "Sign In").method(Method.POST).execute(); 
     doc2 = res.parse(); 
     Map<String, String> loginCookies = res.cookies(); 
     doc = Jsoup.connect("url").cookies(loginCookies).get(); 

Где метод

res.cookies() 

возвращается пустой карты.

ответ

0

Вы отправили (а) Все поля введите свои данные на запрос? Вам нужно включить КАЖДЫЕ ОДИНОЧНЫЕ поля ввода ВКЛЮЧАЯ скрытые поля! Я вижу, что вы только передали ID и пароль, что, похоже, является проблемой.


Если вы используете браузерChrome, нажмите правой кнопкой мыши на странице и выберите «Проверить элементы». Это вызовет появление Developer Tools. Перейдите в консоль и введите $ («ввод»). Это даст вам все поля ввода, присутствующие на этой странице. Нечто подобное скриншоте ниже:

enter image description here

+0

Вы можете уточнить, пожалуйста? Какие еще скрытые поля ввода? Как я их найду? – djar

+0

Спасибо. Я отредактировал свой вопрос, чтобы отразить ваше предложение, но я все еще возвращаю пустую карту. Возможно ли, что, поскольку вход submitButton, на который я ссылаюсь, не имеет имени, но я ссылаюсь на его идентификатор, который создает проблему? – djar

+0

Эй, вместо вашего URL-адреса, вы бы попробовали следующий? 'https: // id.wsj.com/auth/submitlogin.json' –

Смежные вопросы