|
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
|
||||||||||||||||
Авторизация на сайте, Java парсинг09.07.2014, 15:10. Показов 11123. Ответов 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) Авторизация на сайте Авторизация на сайте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|