मैं एक आईओएस ऐप बना रहा हूं जो बैकएंड के लिए Google ऐप इंजन का उपयोग करता है। Google एक HTML लॉगिन साइट प्रदान करता है जो प्रमाणीकरण कुकी संग्रहीत करता है। यदि मैं UIWebView में उस साइट पर जाता हूं, और उपयोगकर्ता लॉग इन करता है, तो क्या वे कुकीज स्टोरेज में होंगी जहां उन्हें उसी साइट पर अनुरोध करते समय NSRLConnection द्वारा उठाया जाएगा?UIWebView और NSURLConnection साझा कुकी संग्रहण करें?
उत्तर
UIWebView की कुकी NSHTTPCookieStorage sharedHTTPCookieStorage]
के माध्यम से एक सैंडबॉक्स किए गए कुकी स्टोरेज में संग्रहीत की जाएगी। आप इस तरह से NSURLConnection में इस कुकी संग्रहण का उपयोग कर सकते हैं:
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:@"__YOUR_URL__"]];
NSDictionary *headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
[request setAllHTTPHeaderFields:headers]; //A previously created NSMutableURLRequest
अब आप सामान्य रूप से एक NSURLConnection में NSURLRequest उपयोग कर सकते हैं और उस में UIWebView
क्या मैं पृष्ठ के URL, या डोमेन के साथ '" YOUR_URL "को प्रतिस्थापित करता हूं? – Linuxios
आपके मामले में '.google.com' के साथ YOUR_URL को बदलना ठीक होना चाहिए, सामान्यतः वह यूआरएल है जो कुकी के डोमेन फ़ील्ड से मेल खाता है। यदि आपको नहीं पता कि सटीक यूआरएल ('.google.com 'सभी google.com सबडोमेन से मेल खाता है) तो आप कुकी कुकी में सभी कुकी प्राप्त कर सकते हैं:' [[NSHTTPCookieStorage shareHTTPCookieStorage] कुकीज़]'। संभवतः सर्वर कुकीज़ को अनदेखा कर देगा (यदि आपके पास अन्य हैं) जो उसके लिए नहीं हैं। –
तो '। Google.com'' google.com' और सभी सबडोमेन के लिए है? – Linuxios
धन्यवाद प्रवेश के बाद बनाई गई कुकीज़ भेज देंगे। मैं इस प्रश्न को लगभग 10 मिनट के लिए पूछने का तरीका जानने का प्रयास कर रहा हूं। –
@Yar: खुशी है कि आप इसे मिला! – Linuxios