Я работаю над клиентом на Java, который отправляет запросы на сервер. Прямо сейчас, чтобы пользователь вошел в систему, мне нужно установить файлы cookie так же, как это делают почтальоны или браузеры, то есть, если сервер устанавливает файл cookie, клиент должен использовать его в будущих запросах, направленных на этот URL-адрес. В настоящее время у меня есть http-клиент, реализованный с использованием OkHttp, но если бы был лучший способ сделать это, я бы не возражал против изменения библиотеки. Я искал и видел, что CookieJar может быть решением моей проблемы, но я не нашел конкретного примера для подражания.
Вкратце: как мне добавить файлы cookie в этот метод в этот интерфейс для достижения цели?
Большое спасибо!
public static String sendPost(Map<String,Object> messageToSend, String url) throws Exception {
// Set requestBody as individual formatted to json
String jsonRequest = new Gson().toJson(messageToSend);
RequestBody body = RequestBody.create(jsonRequest,MediaType.parse("application/json; charset=utf-8"));
// Set request parameters
Request request = new Request.Builder()
.url("http://" + ADDR + ":" + PORT + url)
.addHeader("User-Agent", "OkHttp Bot")
.post(body)
.build();
// Send request and get response body
Response response = HTTP_CLIENT.newCall(request).execute();
if (response.isSuccessful()) {
ResponseBody responseBody = response.body();
if (responseBody != null)
return responseBody.string();
}
return null;
}
П.Д.: Сервер корректно устанавливает куки, как в браузерах, так и в Postman это работает как шарм.