Istnieją 2 sposoby, można to zrobić:
OkHttpClient client = new OkHttpClient().newBuilder()
.cookieJar(new CookieJar() {
@Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
}
@Override
public List<Cookie> loadForRequest(HttpUrl url) {
final ArrayList<Cookie> oneCookie = new ArrayList<>(1);
oneCookie.add(createNonPersistentCookie());
return oneCookie;
}
})
.build();
...
public static Cookie createNonPersistentCookie() {
return new Cookie.Builder()
.domain("publicobject.com")
.path("/")
.name("cookie-name")
.value("cookie-value")
.httpOnly()
.secure()
.build();
}
lub po prostu
OkHttpClient client = new OkHttpClient().newBuilder()
.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
final Request original = chain.request();
final Request authorized = original.newBuilder()
.addHeader("Cookie", "cookie-name=cookie-value")
.build();
return chain.proceed(authorized);
}
})
.build();
Mam przeczucie, że druga sugestia jest tym, czego potrzebujesz.
Możesz znaleźć here przykład pracy.
Musisz być bardziej precyzyjny co próbujesz zrobić. Może jakiś kod? –
@TudorLuca Muszę wysłać http (uzyskać post put) podczas dołączania cookie do żądania. w Javie na przykład robi się to tak: URL url = nowy URL ("http://www.google.com:80"); URLConnection conn = url.openConnection(); conn.setRequestProperty ("Cookie", "nazwa1 = wartość1; nazwa2 = wartość2"); conn.connect(); –