Article View: be.comp.programming
Article #3511Re: [java] lezen van http server
From: Herman Timmermans
Date: Fri, 26 Dec 2003 15:02
Date: Fri, 26 Dec 2003 15:02
70 lines
4084 bytes
4084 bytes
TRAX wrote:
> Ik heb het volgende probleem: ik probeer van een htpp server een htl
> bestand in te lezen en soms lukt dit, soms ook niet. De http headers en de
> html file worden altijd correct getoond op het scherm maar bij sommige
> url's geraakt mijn programmatje blijkbaar niet uit de lus die ik gebruik
> om het html bestand te tonen, dit is de code die ik gebuik:
>
>
> /*lees de eerste lijn van de server*/
> String fromServer = input.readLine();
>
> while (fromServer != null){
> System.out.print(fromServer+"\r\n");
> /* lees de volgende lijn tot de string null is*/
> fromServer = input.readLine();
> }
>
> Hiervoor gebruik ik een bufferedreader:
>
> input = new BufferedReader(new InputStreamReader(c.getInputStream()));
>
> Zit er iets fout met mijn conditie om de lus te exiten? Wanneer het
> programma fout loopt gebeurt het volgende: hij displayt alles wat hij moet
> tonen maar hij doet geen System.exit() zoals hij wel moet doen na de lus
> (na de lus worden mijn sockets gesloten en gebeurt er system.exit() ) Dus
> ik blijf maar in mijn programma terwijl hij eigenlijk terug naar mijn dos
> prompt zou moeten gaan omdat het programma af zou moeten sluiten (het is
> een text based browser).
> Ik heb deze code van iemand hier gekregen en het zou handig zijn moest
> deze persoon mij kunnen zeggen of hij dit probleem ook had en hoe het op
> te lossen. Iedereen is natuurlijk welkom om een oplossing hiervoor te
> vinden want het is de bedoeling de html file naar een bestand te schrijven
> en zo te parsen, maar voor ik mij daaraan waag zou ik dit toch graag
> opgelost zien. Alvast bedankt!
>
>
>
> --
> stijn.verspeet@pandora[delete.this].be
Als ik uw code compileer en uitvoer met als url : http://www.google.be beko�
ik de volgende exception :
herman@linuxserver:~> java -cp /home/herman/Javasource HttpTextBrowser
http://www.google.be
GET http://www.google.beHTTP/1.1
Host: www.google.be
Exception in thread "main" java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at
sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:406)
at
sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:446)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:180)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at HttpTextBrowser.main(HttpTextBrowser.java:65)
herman@linuxserver:~>
Het probleem is blijkbaar dat Google geen HTTP 1.1 maar wel HTTP 1.0
vereist. Je moet dit in je programma wijzigen en dan is het probleem
opgelost. Ook zet je in de string best een blanco voor HTTP, want bv.
Skynet vind dit zonder spatie ook niet echt leuk.
Mvg, Herman
--
Suse Linux Professional 8.1 on Athlon 1.1 Ghz 512 Mb
Anti Spam = remove the "dot" and the "at"
Registered Linux User #264690
Technical Details
Message-ID:
<3fec59f4$0$20078$ba620e4c@news.skynet.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!newsfeed01.sul.t-online.de!newsfeed00.sul.t-online.de!t-online.de!skynet.be!skynet.be!louie!tjb!not-for-mailReferences:
<pmKGb.96553$GJ5.4233348@phobos.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: fcea4,1a74d76b4dc52a6c X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2003-12-26 07:55:35 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!newsfeed01.sul.t-online.de!newsfeed00.sul.t-online.de!t-online.de!skynet.be!skynet.be!louie!tjb!not-for-mail Message-ID: <3fec59f4$0$20078$ba620e4c@news.skynet.be> From: Herman Timmermans <timmermansdot.hermanat@skynet.be> Subject: Re: [java] lezen van http server Newsgroups: be.comp.programming Reply-To: timmermansdot.hermanat@skynet.be Date: Fri, 26 Dec 2003 16:02:45 +0100 References: <pmKGb.96553$GJ5.4233348@phobos.telenet-ops.be> Organization: ATUM BVBA User-Agent: KNode/0.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8Bit Lines: 70 NNTP-Posting-Host: 80.200.212.8 X-Trace: 1072454133 reader1.news.skynet.be 20078 80.200.212.8:34297 X-Complaints-To: usenet-abuse@skynet.be