Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 28.04.2014, 18:17   #1
der90
Форумчанин
 
Регистрация: 12.02.2014
Сообщений: 73
Репутация: 25
По умолчанию 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
Адрес: Украина, Полтавская обл.
Сообщений: 444
Репутация: 78

icq: 433741134
skype: trance-smile
По умолчанию

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

Я получаю их со стороннего сервера...есть документация и там прописано именно так...но раскодировать не выходит...из за чего это может быть не могу понять...но в тако м варианте я тоже пробывал
Код:

 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
Репутация: 25
По умолчанию

Заработало!
Код:

 $d = base64_decode($d);
 $r = gzdecode($d);
var_dump($r);

der90 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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


05:08.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru