क्या कोई जानता है कि NSRLConnection/NSURLRequest को gzip अनुरोधों के लिए समर्थन है या नहीं।NSURLConnection/NSURLRequest gzip समर्थन
यदि आप करते हैं, तो क्या आप अधिक जानकारी प्रदान कर सकते हैं?
क्या कोई जानता है कि NSRLConnection/NSURLRequest को gzip अनुरोधों के लिए समर्थन है या नहीं।NSURLConnection/NSURLRequest gzip समर्थन
यदि आप करते हैं, तो क्या आप अधिक जानकारी प्रदान कर सकते हैं?
हालांकि यह does not seem to be documented, करता there is evidence कि NSURLConnection
पारदर्शी gzip समर्थन है। जिसका अर्थ है कि यदि सर्वर gzip एन्कोडिंग का समर्थन करता है, और आपके अनुरोध में Accept-Encoding
हैडर gzip
* है, तो सर्वर एक gzipped प्रतिक्रिया भेज देगा, जो NSURLConnection
स्वचालित रूप से डीकोड हो जाएगा।
* NSURLRequest
डिफ़ॉल्ट रूप से उस शीर्षलेख को जोड़ सकता है। यदि नहीं, तो तुम इतनी तरह मैन्युअल रूप से इसे जोड़ने के लिए:
[urlReq setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"]
1. मुझे लगता है कि आपको हेडर 2 जोड़ने के लिए एनएसएमयूटेबलURLआरक्वेट की आवश्यकता है। बेस एसडीके के रूप में "आईओएस 3.2" के रूप में, डिफ्लेट और जीजीआईपी युक्त स्वीकृति-एन्कोडिंग हेडर स्वचालित रूप से शामिल होता है (स्पष्ट रूप से ऐसा नहीं होता था)। – hop
मैंने अभी भी परीक्षण किए हैं और देखा है कि आईफोन डिफ़ॉल्ट रूप से gzip और डिफ्लेट जोड़ता है। क्या किसी को पता है कि यह हमेशा समर्थित था या किस संस्करण से ऐप्पल ने डिफ़ॉल्ट रूप से स्वीकृति-एन्कोडिंग सहित शुरुआत की है? – Dmitry
सर्वर पर भेजे गए gzip एन्कोडिंग अनुरोधों के बारे में क्या? http://stackoverflow.com/questions/6204066/how-to-gzip-an-nsurlconnection-request – ma11hew28
NSURLRequest
NSData
को gzip डीकोड; जैसे कि सर्वर प्रतिक्रिया में "Content-Encoding" = gzip
होता है; NSData
डीकोड करेगा। यदि आप इसे स्वचालित रूप से डीकोड करना चाहते हैं, तो अगला करें। निजी एपीआई का उपयोग ऐप स्टोर पर लागू नहीं हो सकता है।
//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);
मैंने bugreport.apple.com पर एक अनुरोध दायर किया है कि यह या समकक्ष एपीआई सार्वजनिक हो। http://openradar.appspot.com/radar?id=4931101243998208 – John
की संभावित डुप्लिकेट [Accept-Encoding: iOS पर gzip] (http://stackoverflow.com/questions/25333857/accept-encoding-gzip-on-ios) –
@JoshCaswell, तारीख अंतर की जाँच करें । इस प्रश्न को पोस्ट करने के 5 साल बाद पूछा गया था। – mxg
[डुप्लिकेट को हमेशा बाद की तारीख की दिशा में इंगित नहीं करना चाहिए] (http://meta.stackexchange.com/a/147651/159251)। मेरा मानना है कि दूसरे प्रश्न पर उत्तर यहां पाए गए लोगों की तुलना में थोड़ा अधिक उपयोगी है। –