tharo
Mitglied
Man man. Hallo euch allen. Nach inzwischen mal wieder 2 Stunden googlen und darüber aufregen das man ALLES findet, nur nicht die Antwort auf den eigenen Fehler, habe ich mich dazu entschlossen hier nach zu fragen.
Eigentlich bin ich sicher. dass es ein totaler Anfängerfehler ist. So sehr, dass ich wirklich nicht drauf komme. Also:
Ich lese eine HTML Seite über die HttpURLConnection-Klasse ein. Selbige steht auch nicht zur Debatte sondern wird zwangsläufig verwendet.
Alles funktionierte ganz nett bis zu dem Zeitpunkt, als ich mich dem Quelltext zwecks Parsings zuwenden wollte:
Toll dacht ich mir. Er interpretiert scheinbar die in Unicode codierte Page als ASCII und setzt nun überall \0 Zeichen dazwischen. Tut er auch. Ursache gefunden. Aber Lösung? Fehlanzeige. Die versuche dem InputStreamReader mitzuteilen er solle das Fixen schlugen fehl. Ich habs auch mal per byte-encoding versucht, doch dass machte alles eigentlich nur noch schlimmer.
Also. Wo ist mein Fehler? <.<
Und nun bitte keine "lösch die \0'er doch einfach raus" Vorschläge bitte ... das Script muss später unter sehr hoher Last funktionieren.
Eigentlich bin ich sicher. dass es ein totaler Anfängerfehler ist. So sehr, dass ich wirklich nicht drauf komme. Also:
Ich lese eine HTML Seite über die HttpURLConnection-Klasse ein. Selbige steht auch nicht zur Debatte sondern wird zwangsläufig verwendet.
Alles funktionierte ganz nett bis zu dem Zeitpunkt, als ich mich dem Quelltext zwecks Parsings zuwenden wollte:
< ! D O C T Y P E h t m l P U B L I C " - / / W 3 C / / D T D H T M L 4 . 0 1 T r a n s i t i o n a l / / E N " >
< h t m l >
Toll dacht ich mir. Er interpretiert scheinbar die in Unicode codierte Page als ASCII und setzt nun überall \0 Zeichen dazwischen. Tut er auch. Ursache gefunden. Aber Lösung? Fehlanzeige. Die versuche dem InputStreamReader mitzuteilen er solle das Fixen schlugen fehl. Ich habs auch mal per byte-encoding versucht, doch dass machte alles eigentlich nur noch schlimmer.
Also. Wo ist mein Fehler? <.<
Und nun bitte keine "lösch die \0'er doch einfach raus" Vorschläge bitte ... das Script muss später unter sehr hoher Last funktionieren.
Code:
StringBuffer body = new StringBuffer();
HttpURLConnection httpCon = (HttpURLConnection)(myUrl).openConnection();
InputStreamReader isr = new InputStreamReader(httpCon.getInputStream());
BufferedReader in = new BufferedReader(isr);
while (in.ready()) {
body.append( in.readLine() + "\n");
}
System.out.println( body.toString() );