Подтвердить что ты не робот

Java HttpURLConnection - POST с Cookie

Я пытаюсь отправить запрос на отправку с помощью файлов cookie. Это код:

try {

    String query = URLEncoder.encode("key", "UTF-8") + "=" + URLEncoder.encode("value", "UTF-8");
    String cookies = "session_cookie=value";
    URL url = new URL("https://myweb");
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

    conn.setRequestProperty("Cookie", cookies);
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);

    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
    out.writeBytes(query);
    out.flush();
    out.close();

    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String decodedString;
    while ((decodedString = in.readLine()) != null) {
        System.out.println(decodedString);
    }
    in.close();

    // Send the request to the server
    //conn.connect();
} catch (MalformedURLException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

Проблема заключается в том, что запрос отправляется без файлов cookie. Если я только сделаю: conn.connect(); и не отправляйте данные, файлы cookie отправляются в порядке. Я не могу точно проверить, что происходит, потому что соединение является SSL SSL. Я проверяю только ответ.

4b9b3361

Ответ 1

В соответствии с URLConnection javadoc:

The following methods are used to access the header fields and the 
contents AFTER the connection is made to the remote object:

* getContent
* getHeaderField
* getInputStream
* getOutputStream

Вы подтвердили, что в вашем тестовом случае над запросом уже поступает сервер? Я вижу, что вы звоните connect() после getOutputStream() и закомментированы. Что произойдет, если вы раскомментируете его и перейдете до вызова getOutputStream()?