Управление cookie с помощью Java URLConnection

Я довольно новичок в программировании Android и недавно получил успешный HTTP-запрос Post, только чтобы узнать, что мои куки не сохраняются между последующими запросами Post / Get. Я осмотрел интернет и нашел несколько примеров для Android-клиента Apache и HttpURLConnection для Java. Мне не удалось внедрить ни один из методов в мой текущий класс, поэтому мне было интересно, сможет ли кто-нибудь с большим опытом просмотреть мой код и предложить предложения.

Резюме:

Мой первоначальный запрос POST прошел успешно и прошел проверку подлинности.Мой второй запрос POST не сохраняет куки из первоначального запроса POST.Есть ли какой-то конкретный случай или причина, по которой кто-то может выбрать метод Apache или реализацию Java? Являются ли оба равными по своему праву или один предлагает больше возможностей и гибкости, чем другой?

Любая помощь приветствуется, спасибо.

webCreate.java

import android.util.Log;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.CookieHandler;
import java.net.CookieManager;
import java.net.HttpCookie;
import java.net.HttpURLConnection;
import java.net.URL;

import javax.net.ssl.HttpsURLConnection;

public class webCreate {

    private final String USER_AGENT = "Mozilla/5.0";


    // HTTP GET request
    public void sendGet(String url) throws Exception {

        CookieManager cookieManager = new CookieManager();
        CookieHandler.setDefault(cookieManager);
        HttpCookie cookie = new HttpCookie("lang", "en");


        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        // optional default is GET
        con.setRequestMethod("GET");

        //add request header
        con.setRequestProperty("User-Agent", USER_AGENT);

        int responseCode = con.getResponseCode();
        Log.d("sendGet", "\nSending 'GET' request to URL : " + url);


        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();


        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }

        in.close();

        //print result
        System.out.println(response.toString());
        Log.d("Response Code", response.toString());
    }

    // HTTP POST request
    String  sendPost(String url, String urlParams) throws Exception {

        CookieManager cookieManager = new CookieManager();
        CookieHandler.setDefault(cookieManager);
        HttpCookie cookie = new HttpCookie("lang", "en");

        URL obj = new URL(url);
        HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

        //add request header
        con.setRequestMethod("POST");
        con.setRequestProperty("User-Agent", USER_AGENT);
        con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

        // Send post request
        con.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(con.getOutputStream());
        wr.writeBytes(urlParams);
        wr.flush();
        wr.close();

        int responseCode = con.getResponseCode();
        System.out.println("\nSending 'POST' request to URL : " + url);
        System.out.println("Post parameters : " + urlParams);
        System.out.println("Response Code : " + responseCode);

        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        System.out.println("Response Code : " + response);
        return  response.toString();
    }

}

Ответы на вопрос(1)

Ваш ответ на вопрос