franmontiel/PersistentCookieJar
franmontiel/PersistentCookieJar has 1,812 GitHub stars and 241 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 01:59 UTC. Last push 2022-08-18.
A persistent CookieJar implementation for OkHttp 3 based on SharedPreferences.
What you can do
- Possibility to clear the jar: PersistentCookieJar implements ClearableCookieJar interface that declares a clear() method for removing all cookies from the jar.
- Possibility to clear session cookies: PersistentCookieJar implements ClearableCookieJar interface that declares a clearSession() method for removing session cookies from the jar.
- CookieCache represents an in-memory cookie storage. SetCookieCache is the provided implementation that uses a Set to store the Cookies.
- CookiePersistor represents a persistent storage. SharedPrefsCookiePersistor is the provided implementation that uses a SharedPreferences to persist the Cookies.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalPersistentCookieJar for OkHttp 3
A persistent CookieJar implementation for OkHttp 3 based on SharedPreferences.
If you're looking for a OkHttp 2/HTTPUrlConnection persistent CookieStore it can be found at this Gist.
Download
Step 1. Add the JitPack repository in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Step 2. Add the dependency
dependencies {
compile 'com.github.franmontiel:PersistentCookieJar:v1.0.1'
}
Usage
Create an instance of PersistentCookieJar passing a CookieCache and a CookiePersistor:
ClearableCookieJar cookieJar =
new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(context));
Then just add the CookieJar when building your OkHttp client:
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.cookieJar(cookieJar)
.build();
Features
This is a really simple library but here are some of the things that it provides:
Possibility to clear the jar:
PersistentCookieJarimplementsClearableCookieJarinterface that declares aclear()method for removing all cookies from the jar.Possibility to clear session cookies:
PersistentCookieJarimplementsClearableCookieJarinterface that declares aclearSession()method for removing session cookies from the jar.Decoupled and extensible:
CookieCacheandCookiePersistorare interfaces so you can provide your own implementation for each one.CookieCacherepresents an in-memory cookie storage.SetCookieCacheis the provided implementation that uses a Set to store the Cookies.CookiePersistorrepresents a persistent storage.SharedPrefsCookiePersistoris the provided implementation that uses a SharedPreferences to persist the Cookies.
Thread-safe:
PersistentCookieJarpublic methods are synchronized so there is no need to worry about threading if you need to implement aCookieCacheor aCookiePersistor.
ProGuard
The following configuration is only needed for version 0.9.2 and below:
-dontwarn com.franmontiel.persistentcookiejar.**
-keep class com.franmontiel.persistentcookiejar.**
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
License
Copyright 2016 Francisco José Montiel Navarro
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,627 starspublic-apis/public-apis
A collective list of free APIs
496,884 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
439,619 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,106 stars