appengine, iphone и gzip - PullRequest
       12

appengine, iphone и gzip

0 голосов
/ 14 октября 2010

У меня есть некоторый сервлет gava appengine java, к которому я получаю доступ из какого-то приложения iphone 4.

Сервлет записывает ответ в виде XML.Я установил тип содержимого ответа сервлета «text / plain».Если я получу страницу сервлета с помощью Chrome, ответ будет получен (1 Кб).Но, если я получаю сервлет с помощью моего приложения для iphone, ответ будет размером 19 КБ ...

Либо приложение iphone извлекает данные с [NSData dataWithContentOfURL:url], либо с каким-то NSMutableURLRequest с полем заголовка HTTP "Accept-Encoding"установлено значение" gzip ", ответ по-прежнему не распакован.

Кроме того, в журналах Google AppEngine видно, что мое приложение для iphone принимает gzip: CFNetwork/485.10.2 Darwin/10.4.0,gzip(gfe)

Что я могу сделать?

Спасибо.Франсуа

Ответы [ 2 ]

0 голосов
/ 25 августа 2011

Я не думаю, что вы должны установить User-Agent

0 голосов
/ 14 октября 2010

Хорошо, я нашел способ: вам нужно добавить «gzip» в User-Agent.

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:myURL]];
[request addValue:@"gzip" forHTTPHeaderField:@"User-Agent"];

Если вы сделаете это таким образом, вы потеряете значения по умолчанию, установленные платформой (appName / Version CFNetwork / бла-бла-бла), но GAE вернет ответ в формате gzipped.

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