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 habe Probleme eine Webseite auszulesen. Ich benutze denselben Codeschnipsel bei vielen Seiten und bei den meisten klappt er auch, aber bei einigen kommen nur komische Zeichen raus.
Mein Code:
Java:
URL url = new URL("http://anidb.net/perl-bin/animedb.pl?show=main");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
System.out.println(reader.readLine());
Das Ergebnis lässt sich hier nicht reinkopieren. Ich hoffe jemand kann mir helfen.
Dann werden die Seiten wohl einen nicht UFT8/16 kompatiblen Zeichensatz verweden. Gibt doch mal die URL zu einer Seite die funktioniert und eine die nicht funktioniert.
So was hab ich mir auch schon gedacht. Ich weiß aber nicht wie man nicht-UTF8/16-Webseiten ausliest. Eine Seite die funktioniert ist z.B. Google. Die Seite http://anidb.net/perl-bin/animedb.pl?show=main funktioniert nicht.
Kann man irgendwie herausfinden, welches Charset die Webseite benutzt, ohne den Header zu benutzen? Da würde mir auch irgendein externes Programm reichen.
Hmm, ich denke das es bei der Seite nicht geht liegt daran das das PERL skript auf dem server nur Stuß sended wenn man nicht einen ordentlichen HTTP Request macht.
Ich habs mit dem HttpClient versucht krieg da aber nix hin, egal welches Beispiel ich ausprobiere. Entweder er findet irgendeine Klasse nicht, oder wirft eine Exception. Ich habs jetzt mal mit Version 3.1 versucht aber, der findet immer die LogFactory nicht. Hast du irgendein funktionierendes Beispiel?
Super, die erste Methode funktioniert. Aber womit genau müsste ich die zweite Methode füttern? Ist das die Ausgabe des InputStreamReaders als Byte-Array, oder was?