HttpURLConnection disable cookie storage

Viewed 130

Im make post request using this method:

public String post(String url, String body) throws IOException {
    HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
    connection.setReadTimeout(SOCKET_TIMEOUT_MS);
    connection.setDoOutput(true);
    connection.setDefaultUseCaches(false);
    connection.setConnectTimeout(SOCKET_TIMEOUT_MS);
    connection.setRequestProperty(CONTENT_TYPE_HEADER, FORM_CONTENT_TYPE);
    connection.setRequestProperty("User-Agent", USER_AGENT);
    connection.setRequestProperty("Cookie", "");
    HttpURLConnection connection = getConnection(url);
    connection.setRequestMethod("POST");
    connection.setDoOutput(true);
    OutputStream stream = connection.getOutputStream();
    stream.write(body.getBytes(StandardCharsets.UTF_8));
    for (int i = 0; i < DEFAULT_RETRY_ATTEMPTS_NETWORK_ERROR_COUNT; i++) {
        try {
            connection.getResponseCode();
            return;
        } catch (IOException ex) {
            getLogger().warning(ex.getLocalizedMessage());
        }
    }
    return StringUtils.inputToString(connection.getInputStream());
}

But after a while, cookies begin to accumulate in it. Im write simple logger and get next result

 -------Request to url: https://api.vk.com/method/messages.send-------
Cookie: remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED; remixir=DELETED;
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Cache-Control: no-cache
Connection: keep-alive
User-Agent: Java VK SDK/1.0
Host: api.vk.com
Pragma: no-cache
Content-Length: 287
Content-Type: application/x-www-form-urlencoded
POST /method/messages.send HTTP/1.1: null

After a while, the cookie becomes so large that the server does not accept the request. How can I turn this off, even if setRequestProperty("Cookie", "") doesn't help?

0 Answers
Related