OkHttp3 लिए, एक साधारण स्वीकार-सब, गैर लगातार CookieJar
कार्यान्वयन के रूप में किया जा सकता है इस प्रकार है:
OkHttpClient client = new OkHttpClient.Builder()
.cookieJar(new CookieJar() {
private final HashMap<HttpUrl, List<Cookie>> cookieStore = new HashMap<>();
@Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
cookieStore.put(url, cookies);
}
@Override
public List<Cookie> loadForRequest(HttpUrl url) {
List<Cookie> cookies = cookieStore.get(url);
return cookies != null ? cookies : new ArrayList<Cookie>();
}
})
.build();
या आप java.net.CookieManager
उपयोग करने के लिए पसंद करते हैं, अपनी परियोजना है, जो JavaNetCookieJar
होता है, एक आवरण में okhttp-urlconnection
शामिल वर्ग कि java.net.CookieHandler
प्रतिनिधियों:
dependencies {
compile "com.squareup.okhttp3:okhttp:3.0.0"
compile "com.squareup.okhttp3:okhttp-urlconnection:3.0.0"
}
CookieManager cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
OkHttpClient client = new OkHttpClient.Builder()
.cookieJar(new JavaNetCookieJar(cookieManager))
.build();
ध्यान देने योग्य महत्वपूर्ण: कुकी मैनेजर लगातार नहीं है। अगली बार जब आप अपना ऐप लॉन्च करेंगे, तो कुकी जार खाली हो जाएगा। –
@ जेसे विल्सन, तो इसे लगातार कैसे बनाया जाए? –
लगातार कुकीज़ अभी तक कार्यान्वित नहीं की गई हैं। यदि आपको एम की आवश्यकता है, तो आपको अपना खुद का कुकीस्टोर बनाना होगा। –