2014-06-27 7 views
7

क्या कोई मुझे कृपया रोबॉस्पिस रेट्रोफिट प्रकार HTTP अनुरोधों में कुकीज़ प्रबंधित करने का एक तरीका सुझा सकता है।Robospice Retrofit अनुरोधों के साथ कुकीज़ का उपयोग

मेरे पास एक प्रमाणीकरण प्रणाली है जिसमें लॉगिन है, कुछ HTTP HTTP अनुरोध हैं, और एक लॉगआउट।

लॉगिन के दौरान मुझे सत्र को सहेजने और शेष सत्रों के लिए उसी सत्र का उपयोग करने की आवश्यकता है, जब मैं रूट लॉग इन करता हूं और जब मैं लॉगआउट करता हूं तो सत्र को साफ़ करना होगा।

यहां लॉगिन एक HTTP पोस्ट अनुरोध है जो JSON प्रारूप के माध्यम से डेटा भेजता है और प्राप्त करता है। मैं robospice retrofit का उपयोग कर रहा हूं क्योंकि यह आसानी से लॉगिन और लॉगआउट अनुरोधों का प्रबंधन करता है।

उत्तर

7

आप अपने कस्टम Application वर्ग में के माध्यम से java.net.CookieManager

CookieManager cookieManager = new CookieManager(); 
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); 
CookieHandler.setDefault(cookieManager); 

सिस्टम-वाइड कुकी हैंडलर सेट कर सकते हैं।

कुकीज़ को खाली करने आप इस

public void clearCookies() { 
    cookieManager.getCookieStore().removeAll(); 
} 
+0

यह केवल सही API> = 9 के लिए काम करती विधि का उपयोग कर सकते हैं लॉगआउट के बाद? मुझे एंड्रॉइड एपीआई 8 के लिए भी समर्थन की आवश्यकता है –

+0

@RevanthGopi हाँ, यह सही है। आप रनटाइम पर एपीआई स्तर की जांच कर सकते हैं (रेट्रोफिट करता है) और एपीआई> = 9 के लिए 'java.net.CookieManager' के कुकी प्रबंधन के साथ काम करें, और एपीआई के लिए अपाचे के' बेसिकक्यूकीस्टोर 'के साथ <9। इस प्रश्न को एक संभावित तरीके से देखें 'BasicCookieStore' का उपयोग करने के लिए: http://stackoverflow.com/questions/18894540/using-retrofit-with-cookie-persवाद – colriot

संबंधित मुद्दे