¿Alguien sabe si NSURLConnection/NSURLRequest tiene soporte para solicitudes gzip.NSURLConnection/NSURLRequest gzip support
Si lo hace, ¿puede proporcionar más información?
¿Alguien sabe si NSURLConnection/NSURLRequest tiene soporte para solicitudes gzip.NSURLConnection/NSURLRequest gzip support
Si lo hace, ¿puede proporcionar más información?
aunque does not seem to be documented, there is evidence que NSURLConnection
hace tienen el apoyo gzip transparente. lo que significa que si el servidor admite la codificación gzip y su solicitud tiene un encabezado Accept-Encoding
que contiene gzip
*, el servidor enviará una respuesta comprimida, que NSURLConnection
se decodificará automáticamente.
* NSURLRequest
podría agregar ese encabezado de forma predeterminada. si no, hay que añadir manualmente este modo:
[urlReq setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"]
1. creo que necesita una NSMutableURLRequest para agregar un encabezado 2. a partir de "iOS 3.2" como base sdk, el encabezado de aceptación de codificación que contiene deflate y gzip parece incluirse automáticamente (al parecer no solía ser). – hop
Acabo de hacer también pruebas y vi que el iPhone agrega gzip y desinflar de forma predeterminada. ¿Alguien sabe si siempre fue compatible o desde qué versión Apple ha comenzado a incluir Aceptar codificación de forma predeterminada? – Dmitry
¿Qué pasa con las solicitudes de codificación gzip enviadas al servidor? http://stackoverflow.com/questions/6204066/how-to-gzip-an-nsurlconnection-request – ma11hew28
NSURLRequest
decodifica gzip para NSData
; como la respuesta del servidor contiene "Content-Encoding" = gzip
; el NSData
se decodificará. Si desea decodificarlo automáticamente, haga lo siguiente. El uso de API privada no se puede aplicar a la tienda de aplicaciones.
//import CFNetwork.framework
extern CFStringRef kCFURLRequestDoNotDecodeData;
typedef const struct _CFURLRequest* CFURLRequestRef;
extern void _CFURLRequestSetProtocolProperty(CFURLRequestRef,CFStringRef,CFTypeRef);
//NSURLRequest init ...
//...
CFURLRequestRef requestRef = (CFURLRequestRef)[request performSelector:@selector(_CFURLRequest)];
_CFURLRequestSetProtocolProperty(requestRef,kCFURLRequestDoNotDecodeData,kCFBooleanTrue);
Solicité en bugreport.apple.com que esta o una API equivalente se haga pública. http://openradar.appspot.com/radar?id=4931101243998208 – John
duplicado posible de [Accept-Encoding: gzip en iOS] (http://stackoverflow.com/questions/25333857/accept-encoding-gzip-on-ios) –
@JoshCaswell, comprueba por favor la diferencia de fechas . Fue preguntado 5 años después de que esta pregunta fue publicada. – mxg
[Los duplicados no siempre tienen que apuntar en la dirección de la fecha posterior] (http://meta.stackexchange.com/a/147651/159251). Creo que la respuesta en la otra pregunta es un poco más útil que las que se encuentran aquí. –