Использование gzcompress в PHP;нужно уметь распаковывать на айфоне - PullRequest
4 голосов
/ 08 апреля 2011

Я уверен, что это не слишком сложно (и я удивлен, что не могу понять это), но здесь идет речь:

Итак.Я использую gzcompress () для сжатия данных JSON в PHP, чтобы я мог отправить их в приложение для iPhone.

Возникли проблемы с выяснением того, как распаковать эти данные на iPhone (iOS).

Есть мысли?Я собираю данные через NSMutableURLRequest.

Спасибо!


Код, выполняющий запрос:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:theURL]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];

Код, обрабатывающий ответ:

NSString *responseString = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease];

А на стороне PHP:

echo(gzcompress(json_encode($lines)));

Спасибо !!!

1 Ответ

1 голос
/ 08 апреля 2011

В этой статье предполагается, что NSMutableURLRequest поддерживает распаковку gzip "из коробки", но вам необходимо добавить к запросу заголовок Accept-Encoding: gzip.

Расширение вашего примера:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:theURL]];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
[[NSURLConnection alloc] initWithRequest:request delegate:self];

Я бы также рекомендовал протестировать PHP-скрипт с помощью cURL, чтобы убедиться, что он отправляет действительные данные в сжатом формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...