Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich will in einer Webstart-Anwendung die Session-ID für einen geschützten Kundenbereich auslesen. Über die Session-ID und eine MySQL-DB greife ich dann auf die hinterlegten Userdaten zurück.
Die Session-ID lasse ich mir über ein PHP-Script ausgeben:
PHP:
<?php
echo $_COOKIE["fe_typo_user"];
?>
Das klappt auch prima, wenn ich das Script über den Browser aufrufe.
Aus Java heraus funktioniert das aber nicht, es wird nur ein Leerstring zurückgegeben:
Java:
URL sessionid = new URL("http://dummy.de/sessioninfo.php");
URLConnection session = sessionid.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(session.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
in.close();
System.out.println(inputLine);
Dein Java-Programm weiß nichts über Cookies. Es hat den Session-Cookie nie empfangen, ihn nie gespeichert und kann ihn dementsprechend auch nie an den Server schicken, um ihn auslesen zu lassen.
Gibt es denn mit Java-Webstart einen Weg, dies zu bewerkstelligen?
Der User meldet sich auf der Website mit Name/Passwort an und die Webstart-Anwendung soll mit diesen Anmeldedaten arbeiten.
Dein Programm muss sich selbstständig anmelden, den Session-Cookie empfangen und bei jedem Request an die Webseite schicken. Mögliche Wege wären Webservices oder HTMLUnit.