Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2014, 18:17   #1
der90
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 73
По умолчанию GZIP

Привет!
получаю xml
PHP код:
 $ch=curl_init($this->url."/".$this->nameMethod );
             
curl_setopt($chCURLOPT_POST1);
             
curl_setopt($chCURLOPT_RETURNTRANSFER1);
             
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
             
curl_setopt($chCURLOPT_POSTFIELDS$this->data_send);
             
$this->answerXPro curl_exec($ch); 
вида
Код:
<response xmlns="a">
<CompressedData>
     P1xmZAFs9s5K..
</CompressedData>
</response>
где CompressedData это данные сжатые GZIP и сверху закодированы base64...но раскодировать у меня не получается...испробовал все варианты...выводит просто пустую строку...из за чего может быть такая проблема
PHP код:
echo gzdecode(base64_decode($xml->CompressedData),$xml->CompressedDataLength);
echo 
gzuncompress(base64_decode($xml->CompressedDataLength),$xml->CompressedDataLength); 
der90 вне форума Ответить с цитированием
Старый 28.04.2014, 19:39   #2
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Откуда Вы эти данные получаете? Может наоборот сразу сжаты а потом закодированы?
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 29.04.2014, 10:27   #3
der90
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 73
По умолчанию

Я получаю их со стороннего сервера...есть документация и там прописано именно так...но раскодировать не выходит...из за чего это может быть не могу понять...но в тако м варианте я тоже пробывал
Код:
 echo "<br/> = ".base64_decode(gzdecode((string)$xml->CompressedData,$xml->CompressedDataLength));
           echo  "<br/> = ".base64_decode(gzuncompress((string)$xml->CompressedData,$xml->CompressedDataLength));

Последний раз редактировалось der90; 29.04.2014 в 10:36.
der90 вне форума Ответить с цитированием
Старый 29.04.2014, 11:05   #4
der90
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 73
По умолчанию

Заработало!
Код:
 $d = base64_decode($d);
 $r = gzdecode($d);
var_dump($r);
der90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
gzip в браузерах Stilet Софт 17 24.11.2012 22:55
Неправильное магическое число в заголовке GZip. Передача должна идти в поток GZip. MyXa C# (си шарп) 0 19.08.2012 10:20
HTTP и Gzip Slafka C/C++ Сетевое программирование 3 18.10.2011 20:30
Gzip в Delphi sivuda Работа с сетью в Delphi 1 22.08.2010 19:55
Разжать GZIP CoDeR Общие вопросы Delphi 3 23.06.2009 00:20