[cookies] Jak obsłużyc Cookies w HttpURLConnection ?

0

Witam

Zrobiłem sobie taką mini przeglądarkę przy pomocy JEditorPane, i tak, mam dwa pola 1 dla graficznego wyglądu, a drugie wyświetla kod.

Jest jednak problem bo nie moge na niektóre strony wejść ponieważ potrzebują uwierzytelnienia poprzez ciasteczko. Nie wiem jak to obsłużyć w javie, jak przechować ciacho i odpowiednio do sytuacji odesłać.
Sam kod mam taki:

Jeśli chodzi o sposób wyświetlania:

        
adres = jTextField1.getText();
        try {
            jEditorPane2.setContentType("text/html");
            jEditorPane1.setPage(adres);//kod zostanie automatycznie pobrany i przetworrzony przez jeditorpane
        } catch (IOException ex) {
            jEditorPane1.setText(ex.toString());
        }
        jEditorPane2.setContentType("text");
        jEditorPane2.setText(getURLString(adres) );//a tu kod pobiera url class,wyjatek przechwycam ale juz mi sie nie chce tu kodu wklejac, wiadomo co jest piec

I pobranie kodu manualnie:

    public static void getURLString(String adres) throws Exception {
	URL url = new URL(adres);
	URLConnection conn = url.openConnection();

	conn.connect();

	BufferedReader in = new BufferedReader(
				new InputStreamReader(
				conn.getInputStream() ));


	String inputLine = "";
	String str = "";

	while ((inputLine = in.readLine()) != null)
		str +=inputLine;

	in.close();
	
	return str ;
    }

No i nie wiem gdzie w jaki sposób pobrać ciacha, wiem że HttpURLConnection może pomóc, ale tutory jakie znalazłem nic mi nie mówią, prosze o pomoc, wskazówki, może jakiś kod gotowiec. Ehh ciężka sprawa :/

0

Ciacha są przesyłane z serwera za pomocą nagłówka żądania HTTP;

Cookie: nazwa_ciasteczka_1=wartosc_ciasteczka_1; nazwa_ciasteczka_2=wartość;

Jako że używasz URLConnection to można użyć metody getHeaderField(String), która zwróci zawartość nagłówka. W celu ustawienia ciacha może byc pomocna metoda setRequestProperty(String, String)

0

Hmm no i przemyślałem sprawe, i samemu kodu nie ma co pobierać, bo bym musiał napisać obsługę np. formularzy itd.
JEditorPane widzę że daje rade jeśli chodzi o formularze, można się zalogować czy wysłać jakieś dane, ale bez ciastek, czyli za każdym razem trzeba się logować itd.
Nie da się jakoś zaaplikować do jEditorPane obsługe ciasteczek, a może inny komponent ? Wystarczy zwykłe okno przeglądarki, z obsługą cookies, w C# jest okno IE ale tu raczej nie ma co na to liczyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1