Cannot resolve method setCookieHandler (java.net.CookieManger

3.6k Views Asked by At

I using CookieManger with okHttp and i don't know why its saying:

Cannot resolve setCookieMethod. I googled its a valid method and the CookieManger and OkHttp is Imported in the project.

OkHttpClient client = new OkHttpClient();
CookieManager cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);        
client.setCookieHandler(cookieManager);
1

There are 1 best solutions below

2
On

OkHttp has a new CookieJar interface!

OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.cookieJar(cookieJar);
OkHttpClient client = builder.build();

where cookieJar is an instance of okhttp3.CookieJar.

If you really like java.net.CookieManager, you can use Jesse's JavaNetCookieJar: https://github.com/square/okhttp/blob/master/okhttp-urlconnection/src/main/java/okhttp3/JavaNetCookieJar.java

CookieManager cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieJar cookieJar = new JavaNetCookieJar(cookieManager);
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.cookieJar(cookieJar);
OkHttpClient client = builder.build();