|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
||||||||||||||||
Авторизация на сайте, Java парсинг09.07.2014, 15:10. Показов 11068. Ответов 18
Метки нет (Все метки)
Задача парсить один сайт(не с интернета, наш корпоративный, к сожалению к базе не имею доступа, поэтому придется парсить) В общем данные которые мне нужны можно взять только авторизовавшись.
Начала читать книгу Jeff Heaton "HTTP Programming Recipes for Java Bots", разбиралась в примерах полной уверенностью что это то что мне нужно. Так вот по этому примеру я сделала: CookieUtility и FormUtility я взяла из книги CookieUtility.java
Parser.java
0
|
||||||||||||||||
| 09.07.2014, 15:10 | |
|
Ответы с готовыми решениями:
18
Авторизация на сайте
Авторизация на сайте: "java.lang.Exception: http error : 401" |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 09.07.2014, 17:09 | |
|
Пойдите на сайт, авторизуйтесь и посмотрите какие запросы куда идут. Затем сделайте тоже самое
0
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
|||||||
| 10.07.2014, 14:51 [ТС] | |||||||
|
Тогда куда вставлять такие строчки вроде этой?
0
|
|||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 10.07.2014, 15:00 | |
|
olea, вам сначала нужно понять какие запросы отпраыляются, какие методы для этого используются и какие данные передаются.
То что вы написали это какой-то кусок вырванный из контекста. По нему мало что понять можно.lp_4eva,
0
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
||
| 10.07.2014, 15:34 [ТС] | ||
|
Я делаю так отправляю гет запрос с одним кукисом, я прямо взяла зашифрованное значение и вставила, затем сделала пост запрос с двумя куками, только вот у меня пароль и логин разделены не знаю как слить, то ли тоже вставить зашифрованную строку. Не совсем поняла ваше какие методы используется и какие данные передаются, вроде только логин пароль и айди сессий. Что еще странно, у меня 2 сниффера и они показывают разные данные, первый показывает 1 пост 1 гет запрос, а второй 2 гет запроса.
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 10.07.2014, 18:28 | |
|
lp_4eva, sessionid есть вне зависимости от того залогинен юзер или нет. Пароли обычно передают в закодированной форме (Content-Type: application/x-www-form-urlencoded
и обычно методом POST Что такое Line-based text data я без понятия. Вам нужны следующие данные о запросе Method: GET\POST Host: куда посылается запрос Content-Type: например application/x-www-form-urlencoded; Cookie: куки Headers: заголовки запроса Body: тело запроса (тут обычно передаются данные такие как логин и пароль) После того как у вас будет вся эта информация, вы сможете составить свой запрос и послать его на сервер. Насчет двух запросов, обычно по url можно определить что это за запросы.
1
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
|
| 11.07.2014, 09:23 [ТС] | |
|
KEKCoGEN, спасибо за ответ
Можно еще вопрос, зашифрованный пароль и логин можно как нибудь дешифровать? Просто у меня передается лишь логин, что то пароль я не вижу, хотела посмотреть что там не так. Еще вопрос в куках может передаваться пароль/логин?
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 11.07.2014, 14:15 | |
|
lp_4eva, пароль на клиенте редко зашифровывают насколько я знаю. Иногда делают base64.
Я бы посоветовал вам поставить Fiddler2 и кинуть сюда скриншоты того что вы там увидели, тогда все будет более ясно.
0
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
||
| 11.07.2014, 14:54 [ТС] | ||
|
Но что плохо Fiddler2 не ловит мои запросы, когда компилирую обычно в wireshark выходил, а тут только то что на браузере набираешь. Поэтому свой результат показать не смогла. А вот с браузера вот скрины: http://savepic.org/5779799.jpg http://savepic.org/5773655.jpg http://savepic.org/5772631.jpg
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 11.07.2014, 17:02 | |
Сообщение было отмечено reisal78 как решение
Решение
lp_4eva, теперь вам надо посмотреть html код формы логина чтобы определить имена полей (логин и пароль)
На сервер отправляется POST запрос в виде закодированной формы на адрес /Account/Login.aspx и как параметр передается ссылка по которой нужно сделать редирект после логина. От этого и есть второй запрос GET. То что вам нужно сделать это послать POST запрос (что-то типа того http://www.coderanch.com/t/377... -html-form) на адрес /Account/Login.aspx с логином и паролем с именами, которые вы нашли в html. После этого вы будите авторизованны на сайте. ЗЫ. Чтобы проверить что это работает, рекомендую сначала послать запрос из Chrome Advanced REST plugin. Это аддон к браузеру, который умеет посылать всякие запросы и получать ответы. Как только вы сможете залогиниться используя этот аддон, переходите к коду в java
1
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
||
| 14.07.2014, 13:41 [ТС] | ||
![]() А теперь у меня еще трудности, Вы бы не могли мне подсказать? Данные которые мне нужны оказываются отправляются JSON текстом, не могла понять почему на исходном коде который я получаю нет данных, оказалось так;( Теперь не могу понять как читать данные из JSON? Никогда раньше с таким не сталкивалась, а то что в интернете, все примеры для андроида.
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 14.07.2014, 13:43 | |
|
есть много библиотек работающих с JSON. Например
GSON Jackson погуглите примеры. При получании строки json эти технологии позволяют на основе строки построить объект.
0
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
||
| 14.07.2014, 13:52 [ТС] | ||
|
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 14.07.2014, 15:32 | |
|
обычно json приходит в ответ на какой то запрос. Вам надо поймать что это за запрос и послать такой же. В ответ получите тот же json
0
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
||
| 14.07.2014, 16:59 [ТС] | ||
|
P.S:Я правда сама ищу и читаю, но там в основном про то как парсить уже пришедший json. Я б спарсила видела бы этот json, а я лишь код страницы вижу. Не могу понять что я делаю не так. Добавлено через 1 час 19 минут Когда делаю через advanced rest client, случается странная вещь. Я беру и копирую весь request из fiddler и ставлю на value и ставлю urlencoded. Затем это работает, то есть я вижу данные введенного айди, но когда нажимаю на json все так же пишет Unexpected token. Но затем я там же меняю айди другого человека, а он все равно показывает айди того первого человека, как будто это какая та сохраненная сессия. Блин не получается у меня
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 14.07.2014, 21:03 | |
|
если rest client json не показывает, значит вы что-то неправильно отсылаете. Например вы незалогинены когда этот запрос отправляете или ещё что-нибудь.
покажите пример запроса в фидлер на который в ответ вы получаете json
0
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
|||
| 15.07.2014, 09:02 [ТС] | |||
|
Отправляет текстом, громадное количество данных, среди которых я только свой айди и другие данные увидела, остальное не пойми зачем и для чего. Но когда копирую этот текст на advanced rest client работает, но работает только для одного айди а для других показывает айди первого человека, а программно вообще не работает
0
|
|||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 15.07.2014, 10:34 | |
|
Да уж....чёта действительно кучу всего отправляет.
Точно нескажу, раньше такого невидел да и сервер написан у вас на .Net похоже, но думаю имеет место какой то алгоритм дигитальной подписи реквестов. Посмотрите в коде html страницы не сидит ли там в hidden блоке такой вот кусок текста непонятный тоже. Лучше всего конечно спросить разработчиков самого сайта но думаю эта возможность недоступна.
1
|
|
|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
|||
| 15.07.2014, 16:17 [ТС] | |||
|
Добавлено через 1 час 58 минут О, я сделала ![]() Правда разработчики ничем помочь не смогли так как легче самой разбираться чем им дозвониться)))) Сидела разбирала огромный кусок текста и все таки поняла где что находится, что куда отправляется, остается теперь парсить json)))) KEKCoGEN , огромное вам спасибо, без вас бы не получилось ![]() Тема закрыта))))
0
|
|||
| 15.07.2014, 16:17 | |
|
Помогаю со студенческими работами здесь
19
Авторизация на сайте и получение данных из личного кабинета на сайте Авторизация в вк . парсинг куки Авторизация и парсинг PHP (CURL) Авторизация на сайте Авторизация на сайте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|