Html-Source über URL in einen String speichern?

Status
Nicht offen für weitere Antworten.
T

the_chaox

Gast
Hi zusammen!

Ich will den Quelltext einer bestimmten Seite in einen String speichern.

Gibt es in der URL Klasse irgendeine Methode mit der ich das realisieren kann?
Also ich übergebe zum Beispiel die Adresse als Parameter und erhalten den Html-Quelltext der Site als String!

Danke für Hilfe im voraus!
 

Fry

Aktives Mitglied
Hallo,

in der Klasse URL gibt es das IMHO nicht. Du kannst aber eine HttpURLConnection aufmachen und davon den Stream auslesen, den schreibst du dann zeilenweise in einen String. Würde ich jetzt mal so sagen 8)

Fry
 

sisko78

Bekanntes Mitglied
Mir fällt hierzu
URL#openStream
oder wie von Fry angedeutet, URL#openConnection + URLConnection#getInputStream
ein
 
T

the_chaox

Gast
Jo, hab`s jetzt, vielen Dank!

Aber jetzt hab ich folgendes problem:

Es geht um eine Site auf der ich zwar eingeloggt bin, wenn ich aber über das Java-Prog den Quelltext auslese, dann bin ich NICHT eingeloggt, logisch!
Kann ich jetzt irgendwie die Session-ID oder den Cookie mitschicken wenn ich die Site über das prog aufrufe damit er erkennt das ich eingeloggt bin?
 

Fry

Aktives Mitglied
Hey cool,

du sitzt an dem gleichem Prob wie ich auch :D
Mal gucken ob du auch noch zu meinem Posting kommst :wink:

Bei meiner Seite ist es so, dass nach dem Einloggen eine Seite zurückgesendet wird, in der die Session ID steht. Wenn du weißt wie sie aufgebaut ist, kannst du die immer mit nem Pattern suchen (regex).
Also wieder Stream aufmachen und erstmal alles lesen was da kommt und dann mit Regular Expression durchsuchen.
Du mußt diese ID bestimmt dann weiter verwenden, oder?

Fry
 
T

the_chaox

Gast
Jep, die Session ID kann ich sowieso auslesen mit

.getHeaderFields()

Allerdings weiß ich jetzt nicht wie ich sie weiterverwenden soll, bzw. wie ich sie an den Host zurückschicke(?)!
 

Fry

Aktives Mitglied
huhu,

also bei mir steht die im Text, aber ich habe eh mehr Probleme mit dem Feststellen wann die Seite komplett geladen ist :lol: egal, bei deinen Links geht bei mir nur der letzte

Fry
 

Campino

Top Contributor
huhu,

wir arbeiten zu dritt ;)) alle am selben Problem(bereich), aber ich glaube, ihr habt mein spezielles Problem gelöst, also, ich sende per PostMethod (aus Jakarta httpclient-3.0)) Post Daten (eben einen Login) an ein serverside-script (vermutlich php, eventuell auch Python, aber das sollte doch egal sein, oder?). Wie kann ich jetzt die Seite, die ich als Antwort erhalte, auslesen (so, dass ich sie als String vorliegen habe)? Das öffnen eines Stream über die verwendete UrlConnection gibt eine andere Seite aus...
 

the_chaox

Mitglied
Uff, kann dir gerade nicht ganz folgen :autsch:

Also ich erhalte den Source-Code der angeforderten Seite als String, so wie es auch sein sollte, aber da mein Prog den Cookie nicht an die Seite mitsendet (genau DA ist mein Problem), erhalte ich nicht den Source den ich haben will sondern "bla bla bla, sie müssen eingeloggt sein um diese Seite zu betreten, bla bla bla"

Also, hier ist mal mein bisheriger Code:

Code:
public class SourceMurgs
{ public static void main(String[] args) 
                throws MalformedURLException, IOException 
  { 
	String urlString="http://blablabla.de";
	
	   URL url = new URL("http://blablabla.de");
	   URLConnection conn = url.openConnection();
	   
	   String cookie = conn.getHeaderField("Set-Cookie");  // Herausfiltern der Session-ID.
	   System.out.println(""+conn.getHeaderFields());      // Ausgabe des gesamten Headers.
	   	   
	   
	   BufferedReader br = 
       new BufferedReader(
           new InputStreamReader(
               new URL(urlString).openStream()));
    String inText; 
    System.out.println(cookie);                       // Ausgabe der Session-ID.

    while ((inText = br.readLine()) != null)       // Ausgabe des html-Quelltext der
	System.out.println(inText);                   // angeforderten Site.
  }    
}

Also nochmal zu meinem Problem:

Ich kann mich per Browser auf der Seite einloggen, erhalte dann auch einen Cookie usw. (is klar denke ich). Und wie, verdammt noch mal *langsam verzweifel* bringe ich diesem Programm jetzt bei das es genau diesen Cookie verwenden soll wenn es die connection zu der Seite aufbaut!?!? Kann ich den Cookie irgendwie von Firefox (der ihn ja kennt) verwenden?
 

Campino

Top Contributor
the_chaox hat gesagt.:
Ich kann mich per Browser auf der Seite einloggen, erhalte dann auch einen Cookie usw. (is klar denke ich). Und wie, verdammt noch mal *langsam verzweifel* bringe ich diesem Programm jetzt bei das es genau diesen Cookie verwenden soll wenn es die connection zu der Seite aufbaut!?!? Kann ich den Cookie irgendwie von Firefox (der ihn ja kennt) verwenden?

geht es wirklich um einen Keks (engl. Cookie) oder musst du POST-Daten an ein Script senden (was Firefox z.B. beim Ausfüllen eines Formulars machen würde)?
 

the_chaox

Mitglied
Nein, es geht eindeutig um einen "Keks"!

Das Problem ist ja, das die Seite denkt ich wäre nicht eingeloggt, also nicht berechtigt die Seite zu betreten! Unter Firefox bin ich berechtigt da ich ja eingeloggt bin und den entsprechenden Cookie also habe! Also muß ich diesen Cookie irgendwie beim Request von dem Programm an die Seite verwenden! ???:L
 

Campino

Top Contributor
the_chaox hat gesagt.:
Nein, es geht eindeutig um einen "Keks"!

Das Problem ist ja, das die Seite denkt ich wäre nicht eingeloggt, also nicht berechtigt die Seite zu betreten! Unter Firefox bin ich berechtigt da ich ja eingeloggt bin und den entsprechenden Cookie also habe! Also muß ich diesen Cookie irgendwie beim Request von dem Programm an die Seite verwenden! ???:L
bist du dir sicher das die Seite mit einem Keks und nicht mit einer session arbeitet?

Ansonsten sieh dir auch mal jakarta (Link oben) an, die haben ein Object Cookie, das man zu einem PostMethod-Object hinzufügen kann und dieses kann man dann an den Server senden...übertragen werden die daten so...nur wie man an die resultierende page kommt, weiß ich nicht...das ist derzeit mein Problem...
 

Bleiglanz

Gesperrter Benutzer
Code:
      BufferedReader br =
       new BufferedReader(
           new InputStreamReader(
               new URL(urlString).openStream())); /// WIESO NEW???
Warum machst du da eine neue URL auf? klar dass du da nicht eingeloggd bist

=> nimm doch die, die du schon hast und an die du den cookie geschickt hast...
 

the_chaox

Mitglied
:bae: Ok, da haste recht, so ist logischer:

Code:
 BufferedReader br = 
       new BufferedReader(
           new InputStreamReader(
               url.openStream()));

Ändert aber leider nichts am meinem Problem, da der Cookie dem Programm immernoch nicht bekannt ist!
 

Bleiglanz

Gesperrter Benutzer
hmm

du liest also beim ersten mal den Cookie aus

und dann musst du eine komplett neue Anfrage stellen, mit der du eben diesen wieder mitschickts

=> einfach im Header
 

Fry

Aktives Mitglied
Hallo!

Das öffnen eines Stream über die verwendete UrlConnection gibt eine andere Seite aus...

:lol: :lol: hehe wir arbeiten wirklich am selben :D
Also bei mir ist es so, dass die Seite, die ich abgreife eine Seite ist, die als HTML text lediglich ein framesetz enthält. Bei mir ist es also auch eine andere :roll:

Fry
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Html Auslesen Netzwerkprogrammierung 6
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
G seite nach posten eines html-forms laden Netzwerkprogrammierung 0
K HTTP Mit Java HTML Codeauslesen um damit zu arbeiten Netzwerkprogrammierung 7
B HTML mit Webserver und Datenbank verbinden Netzwerkprogrammierung 2
K Probleme bei HTML-Mail-Abruf mit IMAP bei 1und1 Netzwerkprogrammierung 2
C Gerenderte Website nach der ausführung von JavaScript als HTML Code aus lesen Netzwerkprogrammierung 4
Z HTTP HTML Element auslesen in Java Netzwerkprogrammierung 1
J Daten von einem HTML-Textfeld abrufen Netzwerkprogrammierung 3
J Json von Html request einlesen Netzwerkprogrammierung 0
X Einfach Server der HTML img Tags austauscht Netzwerkprogrammierung 1
P nanoHttp upload.html page lädt nicht Netzwerkprogrammierung 4
Xendarii HTTP Zeilenumbrüche aus HTML-Textarea entfernen Netzwerkprogrammierung 10
S HTML mit AJAX auslesen Netzwerkprogrammierung 2
Mike90 Mehspaltige HTML Tabelle parsen Netzwerkprogrammierung 3
S HTTP Ausgabe von Java-Inhalten in HTML Netzwerkprogrammierung 6
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
R HTTP Post HTML Netzwerkprogrammierung 5
Geese HTML Quelltext auslesen ergibt -null- Netzwerkprogrammierung 2
D HTTP html Bildreferenz in responseBody() schreiben Netzwerkprogrammierung 2
B HTTP HTML-Formular aus Java heraus befüllen und bedienen Netzwerkprogrammierung 3
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
R HTML in FileWriter schreiben Netzwerkprogrammierung 5
M Java-Programm als Webserver erzeugt HTML Netzwerkprogrammierung 8
U2nt Texte bzw. Attribute aus HTML etc. bekommen Netzwerkprogrammierung 2
B HTML meets Servlet Netzwerkprogrammierung 6
H HTTP Einloggen auf einer HTML (php) Seite Netzwerkprogrammierung 6
S redirected html auslesen Netzwerkprogrammierung 10
L Passwort + HTML und PHP Netzwerkprogrammierung 9
F Welchen HTML Parser soll ich nehmen? Netzwerkprogrammierung 3
B HTML Formularfelder erkennen und ausfüllen Netzwerkprogrammierung 3
A html - E-mail - Bilder Netzwerkprogrammierung 4
N HTML-Übertragung im lokalen Netzwerk mit Java - wie? Netzwerkprogrammierung 6
S Mittels Java XML abfragen und nicht die Ausgabe-HTML-Datei Netzwerkprogrammierung 5
H HTML-Mails mit JavaMail API Netzwerkprogrammierung 3
M Wie läd man eine HTML Seite in Java runter Netzwerkprogrammierung 2
Z HTML sent by doPost Netzwerkprogrammierung 2
T verbindung zu skript (wie html-formular) Netzwerkprogrammierung 2
A HTML code auslesen klappt nicht ganz Netzwerkprogrammierung 3
M Quellcode einer HTML Seite erhalten Netzwerkprogrammierung 2
M html Code darstellen Netzwerkprogrammierung 2
flashfactor Frage zu HTML-Response Netzwerkprogrammierung 4
G Java Chat mit HTML Cleint Netzwerkprogrammierung 3
C POST-Parameter aus HTML-Script lesen Netzwerkprogrammierung 1
Furtano RMI lookup(Unknown Source) Netzwerkprogrammierung 7
G XML-RPC -> Exception $Proxy0-Unknown Source-No such handl Netzwerkprogrammierung 8
D DataInputStream.readInt(Unknown Source) Netzwerkprogrammierung 2
JJJK Open-Source-Server Netzwerkprogrammierung 3
J fake source address Netzwerkprogrammierung 11
K Tabelle im Web über Listener aufrufen Netzwerkprogrammierung 1
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
S Socket Bilder über Socket Senden Netzwerkprogrammierung 0
B Zip Dateien über FTP laden Netzwerkprogrammierung 2
x46 byte[] über BufferedReader auslesen Netzwerkprogrammierung 18
E Socket Parameter über Sockets übergeben und auslesen ! Netzwerkprogrammierung 5
L Webbasierte Anwendung - Authentifizierung über LDAP/ActiveDirectory Netzwerkprogrammierung 5
J Probleme mit Multicast über IPv6, DatagramChannel Netzwerkprogrammierung 1
S Daten über TCP/IP senden Netzwerkprogrammierung 3
T Broadcast-message über spez. Netzwerk-Schnittstelle Netzwerkprogrammierung 1
T Mikrofonaudio über Java Server an Webbrowser streamen Netzwerkprogrammierung 13
M Erstelltes Programm über Internet Browser ausführen Netzwerkprogrammierung 26
T VPN-Verbindung über Java Netzwerkprogrammierung 4
V Einfachen Javaserver über das Internet erreichbar machen Netzwerkprogrammierung 2
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
E Kurze Textnachrichten über einen Server von meinem Handy auf den Computer laden. Netzwerkprogrammierung 9
J FTP FTP Zugriff über Proxy Server Netzwerkprogrammierung 1
Thallius Java Application über ZScaler benutzer? Netzwerkprogrammierung 0
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
V einfaches hin und her von Text über Server Netzwerkprogrammierung 2
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
antonbracke Multiuser Software über XMPP Server Netzwerkprogrammierung 1
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
cezary Socket ServerSocket starten über GUIIm unterstehenden Code versuche Netzwerkprogrammierung 6
I ASCII über serielle Schnittstelle Netzwerkprogrammierung 1
N RMI "RMI über Lan funktioniert nicht" & "RMI-Server im Lan scannen" Netzwerkprogrammierung 13
L Mit Java über PHP in MySQL anmelden (Login script) Netzwerkprogrammierung 3
M Socket String Arrays über Socket an Server schicken Netzwerkprogrammierung 2
T Socket Methoden über Internet aufrufen Netzwerkprogrammierung 1
S Socket Kommunikation über Internet Netzwerkprogrammierung 1
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
K ByteArray über Netzwerk senden klappt nicht Netzwerkprogrammierung 5
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
P RMI Threads die über RMI auf Datenbank zugreifen Netzwerkprogrammierung 2
S Datei schreiben über Applet Netzwerkprogrammierung 8
G Klassen über Netzwerk kommunizieren lassen Netzwerkprogrammierung 6
J Erster Server-Client läuft auf lokalem Rechner problemlos. Zwei Rechner über das Internet nicht Netzwerkprogrammierung 8
Kjubert Synchronisieren von Objekten über Client/Server - bester Weg? Netzwerkprogrammierung 7
S ImageIcon über Socket schicken (Serialisierung) Netzwerkprogrammierung 6
H Socket Objekte über Socket? Allgemeine Verständnisprobleme in Sachen Socket Netzwerkprogrammierung 3
S Seltsames Verhalten beim Empfangen von Daten über DataInputStream Netzwerkprogrammierung 12
A TCP über UDP Verbindung? Netzwerkprogrammierung 10
C Datei über Socket schreiben und Ereignis lesen Netzwerkprogrammierung 9
D Socket Class über Netzwerk verschicken Netzwerkprogrammierung 2
D JNLP über Webstart funktioniert nicht... Netzwerkprogrammierung 2
J Socket Dateien über Socket auf Server speichern Netzwerkprogrammierung 3
D Socket Datei nur stückweise über Socket verschicken Netzwerkprogrammierung 6
G Bild über Socket schicken - Client/Server Netzwerkprogrammierung 10
A Computer über Internet verbinden Netzwerkprogrammierung 12
N über Java in eine Text-Datei auf einem Server schreiben Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben