Hallo an alle,
wollte mal fragen, wie ich vernünftig eine Webseiten-Kommuniktion mit Java ertellen kann. Also mein Anwendungsfall ist, dass ich eine Webseite parsen möchte um dort die (für mich wichtigen) Infos herauszufiltern, ohne die Seite selbst aufrufen zu müssen: z.B. akutelle Aktien-Kurse, das Wetter, die wichtigen Schlagzeilen von Spiegel-Online.
Den Code dafür habe ich auch schon, allerdings gibt es auch Infos, die hinter einer LogIn-Maske stecken. Ich habe es auch schon geschafft mich mittels POST dort einzuloggen. Allerdings wird, wie ich das kenne, eine Session erstellt, mit der man sonst verschlossende Bereiche betreten darf. Jetzt weiß ich allerdings nicht, wie ich diese Session speichern und wiederverwenden kann. Gibt es ein Session-Handling in Java?
Hier mein bisheriger Code:
Alles anzeigen
Bin für jeden Tipp sehr dankbar.
Gruß Someone2313
wollte mal fragen, wie ich vernünftig eine Webseiten-Kommuniktion mit Java ertellen kann. Also mein Anwendungsfall ist, dass ich eine Webseite parsen möchte um dort die (für mich wichtigen) Infos herauszufiltern, ohne die Seite selbst aufrufen zu müssen: z.B. akutelle Aktien-Kurse, das Wetter, die wichtigen Schlagzeilen von Spiegel-Online.
Den Code dafür habe ich auch schon, allerdings gibt es auch Infos, die hinter einer LogIn-Maske stecken. Ich habe es auch schon geschafft mich mittels POST dort einzuloggen. Allerdings wird, wie ich das kenne, eine Session erstellt, mit der man sonst verschlossende Bereiche betreten darf. Jetzt weiß ich allerdings nicht, wie ich diese Session speichern und wiederverwenden kann. Gibt es ein Session-Handling in Java?
Hier mein bisheriger Code:
Quellcode
- private static ArrayList<String> getURLRespons(String urlPfad, boolean isPOST)
- {
- ArrayList<String> respons = new ArrayList<String>();
- try {
- // Construct data
- String data = "";
- if(isPOST)
- {
- data = URLEncoder.encode("loginUsername", "UTF-8") + "=" + URLEncoder.encode("Peter123", "UTF-8");
- data += "&" + URLEncoder.encode("loginPassword", "UTF-8") + "=" + URLEncoder.encode("123456", "UTF-8");
- }
- // Send data
- URL url = new URL(urlPfad);
- URLConnection conn = url.openConnection();
- conn.setDoOutput(true);
- OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
- wr.write(data);
- wr.flush();
- // Get the response
- BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- String line;
- while ((line = rd.readLine()) != null) {
- respons.add(line);
- }
- wr.close();
- rd.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return respons;
- }
Bin für jeden Tipp sehr dankbar.
Gruß Someone2313