Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: GZiP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как распаковать GZip кодированную строку в ответе сервера?
PHPandDelphi_User
Отправлено: 26 Октября, 2010 - 18:35:27
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Отправляю запрос серверу с параметром Accept-Encoding: gzip,deflate (иначе нельзя потомучто большой трафик, хотя на данный момент этот пареметр убираю за неимением лучшего).
PHP:
скопировать код в буфер обмена
  1. $ZaprosXML=
  2. "GET http://test1.ru/server.php HTTP/1.1\r\n".
  3. "Host: test1.ru\r\n".
  4. "User-Agent: User-Agent: Mozilla/5.0 \r\n". //сокращено
  5. "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n".
  6. "Accept-Language: en-us,en;q=0.5\r\n".
  7. "Accept-Encoding: gzip,deflate\r\n".//говорим что понимаем сжатые данные
  8. "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n".
  9. "Keep-Alive: 115\r\n".
  10. "Connection: keep-alive\r\n".
  11. "Cookie: ".$kukisi."\r\n\r\n";


Приходит ответ от сервера: // я поместил его в массив
[0] => HTTP/1.1 200 OK
[1] => Date: Tue, 26 Oct 2010 15:29:57 GMT
[2] => Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4
[3] => X-Powered-By: PHP/5.2.4
[4] => Content-Encoding: gzip
[5] => Content-Length: 48
[6] => Keep-Alive: timeout=5, max=100
[7] => Connection: Keep-Alive
[8] => Content-Type: text/html; charset=windows-1251
[9] =>
[10] => ‹�����xЪгІQФХU-NUHОП-(J-.VHЇК,PРХµг� 5®���

Так вот как мне добраться до [10]-го и представить его в первоздонном виде?
в документации нифига не нашел кроме gzuncompress()
 
 Top
Uchkuma
Отправлено: 26 Октября, 2010 - 23:37:02
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




PHPandDelphi_User пишет:
Так вот как мне добраться до [10]-го и представить его в первоздонном виде
А чем не устраивает 10-й элемент массива?
 
 Top
PHPandDelphi_User
Отправлено: 27 Октября, 2010 - 00:23:16
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Цитата:
А чем не устраивает 10-й элемент массива?


Строка ведь зашифрована. А на этом языке я еще пока читать не научился.
Как мне эту строку расшифровать???
 
 Top
Viper
Отправлено: 27 Октября, 2010 - 07:39:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)






-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
PHPandDelphi_User
Отправлено: 28 Октября, 2010 - 20:17:13
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Цитата:


Спасибо большое! Ваша функция помогла
 
 Top
JustUserR
Отправлено: 29 Октября, 2010 - 12:27:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




PHPandDelphi_User пишет:
Так вот как мне добраться до [10]-го и представить его в первоздонном виде?
В качестве общей схемы обеспечивающей обработку содержимого документа полученного по некоторому исходному HTTP-запроа можео использовать следующее решение - первоначально вы осуществляете поиск поиск первой пустой строки которая является разделителем группы HTTP-заголовков и целевой передаваемой информации - после чего проводите поиск HTTP-заголовка Content-encoding и Content-transfer-encoding и в завсимости от их содержимого осуществляете вызов функций обратного дешифрованяия и декомпрессии


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB