Es gibt zwei Möglichkeiten, wie Sie dies tun:
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();
}
oder einfach
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();
Ich habe das Gefühl, dass der zweite Vorschlag ist, was Sie brauchen.
Sie können here ein funktionierendes Beispiel finden.
Sie müssen genauer auf sein was du versuchst zu tun. Vielleicht ein Code? –
@TudorLuca Ich muss http (Post erhalten) beim Anfügen von Cookie an die Anfrage senden. in Java zum Beispiel: URL URL = neue URL ("http://www.google.com:80"); URLConnection conn = url.openConnection(); conn.setRequestProperty ("Cookie", "Name1 = Wert1; Name2 = Wert2"); conn.connect(); –