Страница 1 из 1
HTTP запрос
Добавлено: 26 июн 2018, 20:37
IvanLis
Перепробовал все известные мне варианты.
Подскажите, каким образом мне получить данные по
URL:
Код: Выделить всё
http://club-europa.ru/assets/components/europaclub/action.php?action=common/getcheck&checkNum=21,4,2687,435
Необходимо получить текст страницы:
Код: Выделить всё
<table class="checkTable table table-hovered"><tr><th>Наименование</th><th>Цена</th><th>количество</th></tr><tr><td>АЦИДОЛАКТ БОЖЬЯ КОРОВКА 0,45Л 2,5% С ЛАК</td><td> 40.5 руб. </td><td>1 шт.</td></tr><tr><td>АЦИДОЛАКТ БОЖЬЯ КОРОВКА 0,45Л 2,5% С ЛАК</td><td> 40.5 руб. </td><td>1 шт.</td></tr><tr><td>СИГАРЕТЫ ВИНСТОН БЛУ</td><td> 125 руб. </td><td>1 шт.</td></tr><tr><td colspan="4"><b>*П</b> - пометка товаров попавших в спецакцию.</td></tr></table>
Пока ничего кроме:
{"success":false,"message":"","total":0,"errors":[],"object":[]}
получить не получилось. Со сниффером тоже толком ничего не вышло.
Re: HTTP запрос
Добавлено: 26 июн 2018, 22:02
dadreamer
У меня по вышеприведённой ссылке тоже вылетает
{"success":false,"message":"","total":0,"errors":[],"object":[]}
Подозреваю, надо залогиниться, или же ссылка не та.
Re: HTTP запрос
Добавлено: 27 июн 2018, 09:50
IvanLis
dadreamer писал(а):У меня по вышеприведённой ссылке тоже вылетает
{"success":false,"message":"","total":0,"errors":[],"object":[]}
Подозреваю, надо залогиниться, или же ссылка не та.
Видимо браузер автоматом из куков берет инфу для авторизации.
Попробовал с другого компа, действительно до идентификации ничего путного не выходит.
Нужно будет вникнуть и попробовать:
http://labviewportal.org/viewtopic.php?f=87&t=9531
Re: HTTP запрос
Добавлено: 27 июн 2018, 10:53
dadreamer
В большинстве случаев бывает достаточно одного POST-запроса с данными для входа, чтобы залогиниться (при условии, что все необходимые заголовки уже прописаны) - см. пример авторизации на mail. Как вариант, можно загрузить cookies, использующиеся в браузере (это будет работать, если сервер поддерживает долгоживующие сессии, но время от времени всё равно придётся менять cookies).
Re: HTTP запрос
Добавлено: 27 июн 2018, 17:19
IvanLis
dadreamer писал(а):В большинстве случаев бывает достаточно одного POST-запроса с данными для входа, чтобы залогиниться (при условии, что все необходимые заголовки уже прописаны) - см. пример авторизации на mail. Как вариант, можно загрузить cookies, использующиеся в браузере (это будет работать, если сервер поддерживает долгоживующие сессии, но время от времени всё равно придётся менять cookies).
Вроде сделал, осталось перекодировать нормально.... (это в режиме отображения -
Codes)
Код: Выделить всё
\1F\8B\b\00\00\00\00\00\00\03\CDR\CBj\C2@\14\FD\95\8B\D0MQ\A3\12w1_\D1\1F01\10h\A8E\A5k\B5\B4uU\EC\13i\D0\AA\85nZh\14\02\C1V\FD\853\7F\D4\93\t4\DDv\D7\C5\9D\99s\EE\BD\E7\0Es\C6\EA5\9D\C0\137hv\BB\8D\82\EB{\EE\F1\91fz\F9Z\F2\DBg^\C7k\15l\AB\D7a\F86\A6\88\90\E0\0B1\B6\D8aM\B4%\8E-\83I]\F0\AASQNlX\F7\89D]!V\035d\CF.K\1AZ3\8D\96\8D1\1B'\B8\C7\f!\CFOX\nn\b\1E\F1\8E\0F!\9Ea\CE\B8\E5i,\95\A2YG(\B5b\FD@\B0\90\AC\83r--%f\A5\\\17\D5W\E7X\95\E5\87\AE\8A\1A\A9a9\C3\FFe\F4\82\83\EF(1\C7\03\96x\13N\99\F0\89\17\043L\D3{\84x\C9\E5\AB\B5?\A8\8B\DB\0E\BA\A7\CD\93F\C1\A4\7F\8E}\88g\CBpl)\t\F6\B4\84\16\D2\8C\n"\E1\A6\9DT\FDt\CF\B2{\1A\BBV#\DAv!\E4\D4\80L\AC.\C9n\B8&\EA\FA\F7<C\7F\16\FB\1B(\BC`\0FR\02\00\00
Самое интересное, что OpenOffice подхватывает и декодирует файл нормально, а тот же блокнот не хочет, видимо в начале байтики лишние.
Нужно разбираться дальше....
Re: HTTP запрос
Добавлено: 27 июн 2018, 19:34
IvanLis
Сегодня видимо не мой день.
Все работает, ответ получаю (значение сохранено в файле "по умолчанию").
Перекодировать никак не получается.
Сохраняю в файл:
OpenOffice открывается файл нормально.
Судя по настройкам импорта, кодировка UTF-8:
Кто знает как правильно перекодировать, что бы получить текст, для его дальнейшей обработки?
Re: HTTP запрос
Добавлено: 28 июн 2018, 11:30
Blackman
Данные в файле какие то "левые") Не похожи на текст приведенный в офисе.
В
есть примитивы для работы с кодировкой UTF8
Re: HTTP запрос
Добавлено: 28 июн 2018, 13:09
dadreamer
IvanLis писал(а):Кто знает как правильно перекодировать, что бы получить текст, для его дальнейшей обработки?
Это архив. Открывается любым нормальным архиватором, например 7-Zip или WinRAR. Нужно распаковать содержащийся внутри файл и затем прочитать в
как обычный текст.
Чем распаковать из-под
- ну, можно поставить
последний oglib_lvzip, там вроде бы должна быть поддержка Линукса.
Release 4.1.0, Released: Mar. 05, 2015
======================================
New features:
-------------
...
3) Added support for Windows and Linux 64 bit platforms
Или, может, есть какие-то другие тулкиты...
Re: HTTP запрос
Добавлено: 28 июн 2018, 15:21
Blackman
Нет нормального архиватора)
-> file.txt -> file.odt (online) -> wordpad -> save as text file.txt.txt -> change extension file.txt.html
Re: HTTP запрос
Добавлено: 28 июн 2018, 15:28
dadreamer
Blackman писал(а):Нет нормального архиватора)
-> file.txt -> file.odt (online) -> wordpad -> save as text file.txt.txt -> change extension file.txt.html
Зачем же так мучатьcя?..
Re: HTTP запрос
Добавлено: 28 июн 2018, 15:49
Blackman
В Headers точно указано: Content-Encoding: gzip
Коммент при извлечении: Single Packed File detected...
Re: HTTP запрос
Добавлено: 28 июн 2018, 16:00
IvanLis
dadreamer писал(а):Это архив. Открывается любым нормальным архиватором, например 7-Zip или WinRAR. Нужно распаковать содержащийся внутри файл и затем прочитать в
как обычный текст.
премного благодарен
Видимо жара сказывается, там же в заголовке указано:
----------------------
Спасибо всем за "коллективный разум"!
Вот решение:
- Снимок экрана от 2018-06-28 16-25-42.png (8.88 КБ) 6988 просмотров
Для декомпрессии используется функция основанная на
OpenG Zip Tools:
https://forums.ni.com/t5/Example-Progra ... -p/3534832
По идее, в Windows нужно преобразование
UTF-8 -> ASСII, но в Lunux и так кодировка
UTF-8, по этому результат совпадает, а дополнительное преобразование кодировки можно исключить.
Вполне ожидаемый результат, вот что в Windows получилось:
Вечером начну парсить и сохранять в БД.
Re: HTTP запрос
Добавлено: 29 июн 2018, 08:52
IvanLis
Сегодня начал делать на 64bit системе, оказывается
OpenG.lib / lvzip по умолчанию не поддерживает
Linux 64bit.
Пришлось вручную скачивать необходимую библиотеку с репозитария:
https://sourceforge.net/p/opengtoolkit/ ... ip/source/
Править используемые функции, только тогда заработало.
Re: HTTP запрос
Добавлено: 29 июн 2018, 10:37
dadreamer
IvanLis писал(а):Сегодня начал делать на 64bit системе, оказывается
OpenG.lib / lvzip по умолчанию не поддерживает
Linux 64bit.
Пришлось вручную скачивать необходимую библиотеку с репозитария:
https://sourceforge.net/p/opengtoolkit/ ... ip/source/
Править используемые функции, только тогда заработало.
Я же выше дал ссылку на актуальную версию с поддержкой 64 бит:
dadreamer писал(а):Чем распаковать из-под
- ну, можно поставить
последний oglib_lvzip, там вроде бы должна быть поддержка Линукса.
Release 4.1.0, Released: Mar. 05, 2015
======================================
New features:
-------------
...
3) Added support for Windows and Linux 64 bit platforms
Для скачивания требуется регистрация на Лаве. На форум не могу залить, к сожалению, размер файла >2 МБ.
oglib_lvzip-4.1.0-b3.ogp ставится через VIPM точно так же, как и *.vip пакеты.