ФорумПрограммированиеPHP для идиотов → Как использовать ungzip???

Как использовать ungzip???

  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 16 октября 2007 г. 13:18

    С помощью сокетов делаю запрос к странице.
    Обратно содержимое приходит по ходу в виде архива gzip.
    В браузере выглядит вот так:

    HTTP/1.1 200 OK Date: Tue, 16 Oct 2007 09:19:35 GMT Server: Apache/2.0.59 (Unix) PHP/4.4.4 X-Powered-By: PHP/4.4.4 Set-Cookie: battleknight=b0af73269c0e2e22a97967646ff6cecf; expires=Fri, 10 Oct 2008 09:19:35 GMT; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 402 Connection: close Content-Type: text/html mђЛnЫ0Eчъ.јЈХHP'¦‹ЖNЫ ОЃ‚¶«‚–&!ЉRЙqlэ}HЙ)‚"«!зqзО™Їо–Щпы+ЁЁ1pяx№ѕ^гBьњ.…Xe+шх=»YCљњ@ж”хљtk•вк–«€єs!v»]І›&+Eц цQ+ЌГ‡'§7“IA[|8љчЌ±^ѕЈ“Оfіq|lFUДHљ ..…рГкІ"а°nKmзb¬…&Јm ЌdћzѓѕB$Фw(бћDо=ѓКб“d›ъПР” 9З$СЗї[э,ЩІµ„–xдгп ^@^)з‘dЭкOЬtД«йM[ф
    ЙL«ЖЫЏ9‡o_ї=йЬз‹№nJр.яCЅV“R5ш `R И»¤«єП1'7‡zа01К–Тm'Ґ“йD呶4‘Мdv<==KO ЗJVhЯХџЫЦbґ;8я[СщxJ8у]6ў
    „Я`™^АгГZnки“-^ьузvc

    Как можно это дело привести в читаемый вид?
    Если что, то парсю страничку battleknight.ru.
    Задача: сделать бота который будет хотя бы логиниться и выводить меню.
    В общем жду не готового бота а решение проблемы с разархивированием gzip.
    from TRIAL with LOVE
  • zaxar

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz 16 октября 2007 г. 13:23, спустя 5 минут 19 секунд

    gzinflate()
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 16 октября 2007 г. 13:42, спустя 18 минут 35 секунд

    echo gzinflate($data);
    Warning: gzinflate() [function.gzinflate]: data error

    А я хоть к тому эти функции применяю?

    У меня до этого написано вот что:
    $data = Send("http://s1.battleknight.ru/bk_verify.php", "user_name=user1&user_password=pass1", "post", "");

    Это фукция с сокетами, которую выкладывал md5 в этой теме - http://forum.pyha.ru/topic/252.0
    from TRIAL with LOVE
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 16 октября 2007 г. 13:55, спустя 13 минут 23 секунды

    *в кач-ве экстрасенса*, след. вопрос: "как отрезать заголовки" :)
    все умрут, а я изумруд
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 16 октября 2007 г. 14:46, спустя 50 минут 56 секунд

    Вобще, вменяемый сервер не должен отдавать gzip, если клиент его об этом не просил. Особенно в HTTP/1.0
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 16 октября 2007 г. 14:55, спустя 8 минут 34 секунды

    Понял я в чем дело было :)
    md5 сам в свою функцию эту фигню включил вот этой строкой
    "Accept-Encoding: gzip, deflate".$nn.

    убрал ее и всё заработало. но вот заголовки всё равно вылезают :)
    так как их обрезать или убрать? :)
    from TRIAL with LOVE
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 16 октября 2007 г. 15:01, спустя 6 минут 15 секунд

    А-я-яй md5.

    Неужели заголовки не убрать?

    $e = preg_split('~(\r\n\r\n)|(\n\r\n\r)|(\n\n)|(\r\r)~', $result, 2);
    $headers = $e[0];
    $body = isSet($e[1]) ? $e[1] : '';
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 16 октября 2007 г. 15:11, спустя 9 минут 56 секунд

    А-я-яй md5.

    вотафак?! О_о
    можете кинуть в меня камень! =)

    vasa_c, а чхо не substr( … strpos('Content:')) или как там..
    все умрут, а я изумруд
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 16 октября 2007 г. 15:36, спустя 25 минут 30 секунд

    Какой "Content:" ?
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 16 октября 2007 г. 16:24, спустя 47 минут 53 секунды

    ну пока заголовки вырезал через substr(). Не суть важно.
    Теперь надо пройтись регуляркой по данным.
    Надо преобразовать все относительные ссылки в абсолютные.
    Причем есть ссылки такого вида как:
    src='link/file.ext'
    src="link/file.ext'
    src=link/file.ext
    так же помимо src есть href, background, url(link/file.ext)
    тут наверное вобще надо искать любую ссылку заканчивающуюся на .ext (точка+расширение) и при этом проверять чтоб ссылка была действиетльно относительной.

    Вобщем надеюсь на вашу помощь, сам в регулярках не силен. Сколько не пытался, понять их нормально не могу :)

    PS. Если я такой скрипт буду запускать через Cron, он будет работать или нет? Или в этом случае не будут создаваться cookie?
    from TRIAL with LOVE
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 16 октября 2007 г. 16:38, спустя 14 минут 1 секунду

    PS. Если я такой скрипт буду запускать через Cron, он будет работать или нет? Или в этом случае не будут создаваться cookie?

    работать будет

    Какой "Content:" ?

    и действительно…
    все умрут, а я изумруд
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz 16 октября 2007 г. 23:35, спустя 6 часов 56 минут 27 секунд

    помоему удобнее весь парсинг делать через cURL, мое ИМХО, но камнями в меня как в мд5 кидать не надо :)
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 17 октября 2007 г. 9:23, спустя 9 часов 48 минут 6 секунд

    Да не работает у меня курл не локально не на хостинге. Либо я чего своими руками кривыми не так делаю.
    from TRIAL with LOVE
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 17 октября 2007 г. 10:09, спустя 46 минут 27 секунд


    Да не работает у меня курл не локально не на хостинге. Либо я чего своими руками кривыми не так делаю.

    ходят слухи…. что у некоторых курл всё же работает =) значит
    я чего своими руками кривыми не так делаю.

    кстати курл я по психологическим соображениям не решаюсь заюзать
    вот если я чего-то на сознательном уровне не хочу делать, я не буду это делать ни под каким соусом, как например есть баклажаны какие-нибудь или сало… ни разу не ел, и не хочу блин!
    все умрут, а я изумруд
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 17 октября 2007 г. 10:35, спустя 25 минут 27 секунд

    К баклажанам +1
    А вот сало это всё-таки вещь ;)
    from TRIAL with LOVE

Пожалуйста, авторизуйтесь, чтобы написать комментарий!