Thread View: be.comp.programming
20 messages
20 total messages
Started by TRAX
Thu, 25 Dec 2003 23:26
[java] lezen van http server
Author: TRAX
Date: Thu, 25 Dec 2003 23:26
Date: Thu, 25 Dec 2003 23:26
38 lines
2757 bytes
2757 bytes
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
Re: [java] lezen van http server
Author: Herman Timmermans
Date: Fri, 26 Dec 2003 06:44
Date: Fri, 26 Dec 2003 06:44
62 lines
3553 bytes
3553 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
Stijn,
dit is een stukje uit een programma dat ik heb geschreven dat wel werkt
(althans ik heb daar nog geen probleem me gehad):
try {
BufferedReader breader = new BufferedReader (
new InputStreamReader (someURL.openStream() ));
String receiving;
while ( (receiving=breader.readLine() ) != null){
//do your stuff
}
}
catch (Exception e) {}
Indien dit niet werkt met een bepaalde url, kan je me die url dan eens
geven?
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
Re: [java] lezen van http server
Author: Herman Timmermans
Date: Fri, 26 Dec 2003 13:18
Date: Fri, 26 Dec 2003 13:18
109 lines
6096 bytes
6096 bytes
TRAX wrote:
> Hmm, ik krijg een non compatible type error maar ondertussen heb ik als
> volgt opgelost, ik hou mijn hart al vast voor de lachbuien want echt
> katholiek is het niet :)
>
> while (fromServer != null && fromServer.toLowerCase().indexOf("</html>")
> == -1){
> System.out.print(fromServer+"\r\n");
> /* Lees een volgende lijn in van het antwoord */
> fromServer = input.readLine();
> }
>
> Nu moet ie wel stoppen als hij een html closing tag tegenkomt en die zou
> ik er dan altijd manueel zelf bijschrijven in mijn html bestand dat ik
> moet parsen.
> Alles werkt perfect, behalve: www.google.be Daar stopt hij na een heel
> script, ik zie geen enkel html closing tag of geen null line maar toch
> stopt hij, strange...
> Als er iemand enig idee heeft hoe dat komt... Ik wil gerust mij code
> online zetten of hier eens posten
>
> Alvast bedankt!
Hello,
met de code die ik je voordien heb gegeven werkt het perfect bij mij.
Dit is bv. de response header die ik terug krijg.
********************************************
Cache-control : private
Content-Type : text/html
Set-Cookie :
PREF=ID=01de82c0e73a90b6:LD=nl:TM=1072447276:LM=1072447276:S=3W409DZmDkdgNucW;
expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.be
Content-Encoding : gzip
Server : GWS/2.1
Content-length : 1569
Date : Fri, 26 Dec 2003 14:01:16 GMT
******************************************
Ook de content krijg ik terug, inclusief de </html> tag.
Dit is bv. de content die ik van www.google.be terug krijg.
===============================
<html><head><meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1"><title>Google</title><style><!--
body,td,a,p,.h{font-family:arial,sans-serif;}
.h{font-size: 20px;}
.q{color:#0000cc;text-decoration: none;}
//-->
</style>
<script>
<!--
function sf(){document.f.q.focus();}
// -->
</script>
</head><body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b
alink=#ff0000 onLoad=sf()><center><a href="/doodle7.html"><img
src="logos/winter_holiday_03_oh.gif" width=296 height=110 border=0
alt="Happy Holidays from Google" title="Happy Holidays from
Google"></a><br><br><table border=0 cellspacing=0 cellpadding=0><tr><td
width=15> </td><td id=0 bgcolor=#3366cc align=center width=120
nowrap><font color=#ffffff size=-1><b>Het Internet</b></font></td><td
width=15> </td><td id=1 bgcolor=#efefef align=center width=120 nowrap
onClick="" style=cursor:pointer;cursor:hand;><a id=1a class=q
href="/imghp?hl=nl&tab=wi&ie=UTF-8"><font
size=-1>Afbeeldingen</font></a></td><td width=15> </td><td id=2
bgcolor=#efefef align=center width=120 nowrap onClick=""
style=cursor:pointer;cursor:hand;><a id=2a class=q
href="/grphp?hl=nl&tab=wg&ie=UTF-8"><font
size=-1>Discussiegroepen</font></a></td><td width=15> </td><td id=3
bgcolor=#efefef align=center width=120 nowrap onClick=""
style=cursor:pointer;cursor:hand;><a id=3a class=q
href="/dirhp?hl=nl&tab=wd&ie=UTF-8"><font size=-1>Gids</font></a></td><td
width=15> </td></tr><tr><td colspan=10 bgcolor=#3366cc><img width=1
height=1 alt=""></td></tr></table><br><form action="/search" name=f><span
id=hf></span><table cellspacing=0 cellpadding=0><tr valign=middle><td
width=75> </td><td align=center><input maxLength=256 size=55 name=q
value="">
<script>
document.f.q.focus();
</script>
<input type=hidden name=ie value="ISO-8859-1"><input name=hl type=hidden
value=nl><br><input type=submit value="Google zoeken" name=btnG><input
type=submit value="Ik doe een gok" name=btnI></td><td valign=top
nowrap><font size=-2> • <a
href=/advanced_search?hl=nl>Geavanceerd zoeken</a><br> • <a
href=/preferences?hl=nl>Voorkeuren</a><br> • <a
href=/language_tools?hl=nl>Taalhulpmiddelen</a></font></td></tr><tr><td
colspan=3 align=center><font size=-1>Zoek: <input id=all type=radio
name=meta value="" checked><label for=all> het Internet</label><input
id=lgr type=radio name=meta value="lr=lang_nl" ><label for=lgr> pagina's in
het Nederlands</label><input id=cty type=radio name=meta
value="cr=countryBE" ><label for=cty>pagina's uit
Belgi?</label></font></td></tr></table></form><p><font
size=-1><p></font><br>Google.be aangeboden in: <a
href="http://www.google.be/fr">Fran?ais</a> <a
href="http://www.google.be/de">Deutsch</a> <a
href="http://www.google.be/en">English</a> <br> <br><br><font
size=-1><a href=/intl/nl/ads/>Adverteer bij ons</a> - <a
href=/intl/nl/about.html>Alles over Google</a> - <a
href=http://www.google.com/ncr>Google.com in English</a></font><p><font
size=-2>©2003 Google - Zoekt in 3,307,998,701
webpagina's</font></p></center></body></html>
==============================
Waarom zet je dit (fromServer = input.readLine()) niet in je while
statement argement en wel in je body?
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
Re: [java] lezen van http server
Author: TRAX
Date: Fri, 26 Dec 2003 13:44
Date: Fri, 26 Dec 2003 13:44
21 lines
2060 bytes
2060 bytes
Hmm, ik krijg een non compatible type error maar ondertussen heb ik als
volgt opgelost, ik hou mijn hart al vast voor de lachbuien want echt
katholiek is het niet :)
while (fromServer != null && fromServer.toLowerCase().indexOf("</html>")
== -1){
System.out.print(fromServer+"\r\n");
/* Lees een volgende lijn in van het antwoord */
fromServer = input.readLine();
}
Nu moet ie wel stoppen als hij een html closing tag tegenkomt en die zou ik
er dan altijd manueel zelf bijschrijven in mijn html bestand dat ik moet
parsen.
Alles werkt perfect, behalve: www.google.be Daar stopt hij na een heel
script, ik zie geen enkel html closing tag of geen null line maar toch stopt
hij, strange...
Als er iemand enig idee heeft hoe dat komt... Ik wil gerust mij code online
zetten of hier eens posten
Alvast bedankt!
Re: [java] lezen van http server
Author: Herman Timmermans
Date: Fri, 26 Dec 2003 14:05
Date: Fri, 26 Dec 2003 14:05
27 lines
1839 bytes
1839 bytes
TRAX wrote:
> Thanks, ik had niet gezien dat dat uit mijn body wegmoest :)
> Toch krijg ik nog een ander resultaat op www.google.be
KNIP
<script>
> document.f.q.focus();
> </script>
>
> Hij stopt dus na de script closing tag :(
>
> dit is nu mijn loop:
>
> String fromServer = input.readLine();
> while ((fromServer=input.readLine() ) != null){
> System.out.print(fromServer+"\r\n");
> outputfile.print(fromServer+"\r\n");
> /* Lees een volgende lijn in van het antwoord */
>
> }
Verander eens in :
while(fromServer != null) { .............
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
Re: [java] lezen van http server
Author: Herman Timmermans
Date: Fri, 26 Dec 2003 14:11
Date: Fri, 26 Dec 2003 14:11
15 lines
1937 bytes
1937 bytes
TRAX wrote:
>> Verander eens in :
>> while(fromServer != null) { .............
>
> Dan leest hij enkel de eerste lijn en dan zou ik in mijn lus terug de
> volgende lijn moeten lezen, dat had ik in het begin ook dus ben ik weer
> bij af :(
> mag ik anders mijn code eens posten? misschien heb ik daar wel een domme
> fout in gemaakt
Ja, post maar eens - ik zou het anders ook niet meer weten ;-{
--
Suse Linux Professional 8.1 on Athlon 1.1 Ghz 512 Mb
Anti Spam = remove the "dot" and the "at"
Registered Linux User #264690
Re: [java] lezen van http server
Author: TRAX
Date: Fri, 26 Dec 2003 14:39
Date: Fri, 26 Dec 2003 14:39
66 lines
3423 bytes
3423 bytes
Thanks, ik had niet gezien dat dat uit mijn body wegmoest :)
Toch krijg ik nog een ander resultaat op www.google.be
<html><head><meta http-equiv="content-type" content="text/html;
charset=ISO-8859
-1"><title>Google</title><style><!--
body,td,a,p,.h{font-family:arial,sans-serif;}
.h{font-size: 20px;}
.q{color:#0000cc;text-decoration: none;}
//-->
</style>
<script>
<!--
function sf(){document.f.q.focus();}
// -->
</script>
</head><body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b
alink=#ff00
00 onLoad=sf()><center><a href="/doodle7.html"><img
src="logos/winter_holiday_03
_oh.gif" width=296 height=110 border=0 alt="Happy Holidays from Google"
title="H
appy Holidays from Google"></a><br><br><table border=0 cellspacing=0
cellpadding
=0><tr><td width=15> </td><td id=0 bgcolor=#3366cc align=center
width=120 n
owrap><font color=#ffffff size=-1><b>Het Internet</b></font></td><td
width=
15> </td><td id=1 bgcolor=#efefef align=center width=120 nowrap
onClick=""
style=cursor:pointer;cursor:hand;><a id=1a class=q
href="/imghp?hl=nl&tab=wi&ie=
UTF-8"><font size=-1>Afbeeldingen</font></a></td><td width=15> </td><td
id=
2 bgcolor=#efefef align=center width=120 nowrap onClick=""
style=cursor:pointer;
cursor:hand;><a id=2a class=q href="/grphp?hl=nl&tab=wg&ie=UTF-8"><font
size=-1>
Discussiegroepen</font></a></td><td width=15> </td><td id=3
bgcolor=#efefef
align=center width=120 nowrap onClick=""
style=cursor:pointer;cursor:hand;><a i
d=3a class=q href="/dirhp?hl=nl&tab=wd&ie=UTF-8"><font
size=-1>Gids</font></a></
td><td width=15> </td></tr><tr><td colspan=10 bgcolor=#3366cc><img
width=1
height=1 alt=""></td></tr></table><br><form action="/search" name=f><span
id=hf>
</span><table cellspacing=0 cellpadding=0><tr valign=middle><td
width=75> <
/td><td align=center><input maxLength=256 size=55 name=q value="">
<script>
document.f.q.focus();
</script>
Hij stopt dus na de script closing tag :(
dit is nu mijn loop:
String fromServer = input.readLine();
while ((fromServer=input.readLine() ) != null){
System.out.print(fromServer+"\r\n");
outputfile.print(fromServer+"\r\n");
/* Lees een volgende lijn in van het antwoord */
}
Re: [java] lezen van http server
Author: TRAX
Date: Fri, 26 Dec 2003 15:01
Date: Fri, 26 Dec 2003 15:01
8 lines
1578 bytes
1578 bytes
> Verander eens in :
> while(fromServer != null) { .............
Dan leest hij enkel de eerste lijn en dan zou ik in mijn lus terug de
volgende lijn moeten lezen, dat had ik in het begin ook dus ben ik weer bij
af :(
mag ik anders mijn code eens posten? misschien heb ik daar wel een domme
fout in gemaakt
Re: [java] lezen van http server
Author: 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
Re: [java] lezen van http server
Author: TRAX
Date: Fri, 26 Dec 2003 15:07
Date: Fri, 26 Dec 2003 15:07
87 lines
3623 bytes
3623 bytes
Gebruik: java HttpTextBrowser http://www.google.be
CODE:
import java.io.*;
import java.net.*;
public class HttpTextBrowser {
public static void main(String[] args) throws IOException {
URL url = null;
String host = null;
int port = 0;
Socket c = null;
PrintWriter out = null;
BufferedReader input =null;
PrintWriter outputfile=null;
if( args.length != 1){
System.out.println("Usage : java HttpTextBrowser URL");
System.exit(1);
}
try {
/* Vul de variabelen url, host en port in met de informatie vanop de
commandolijn */
url = new URL(args[0]);
host = url.getHost();
port = url.getPort();
if (port<0) port = 80;
/* Maak een Socket aan met de correcte host en port */
c = new Socket(host,port);
/* Initialiseer de PrintWriter out, printwriter outputfile en
de BufferedReader input */
out = new PrintWriter(c.getOutputStream());
input = new BufferedReader(new InputStreamReader(c.getInputStream()));
outputfile = new PrintWriter(new FileWriter("tmp.html"), true);
}
/* Vang de mogelijke exceptions op, en stop het programma indien er
een exceptie optreedt */
catch (MalformedURLException e) {
System.err.println(e+ "\nURL is van de vorm http://<host>:<poort>");
System.exit(1);
}
catch (IOException e) {
System.err.println(e.getMessage());
System.exit(2);
}
catch (Exception e) {
System.err.println(e.getMessage());
System.exit(3);
}
/* Bouw de request string op, vergeet de \n\r niet ! */
String fromUser = "GET http://"+ host + url.getPath() + "
HTTP/1.1\r\nHost: "+ host+"\r\n\r\n";
System.out.print(fromUser);
out.print(fromUser);
out.flush();
/* Lees de inputstream zolang die niet null is */
String fromserver = input.readLine();
System.out.print(fromserver+"\r\n");
while ((fromserver=input.readLine()) != null){
System.out.print(fromserver+"\r\n");
outputfile.print(fromserver+"\r\n");
}
/* Sluit de out, input en output naar html bestand stroom en nadien de
socket */
out.close();
outputfile.close();
input.close();
c.close();
System.exit(0);
}
}
Re: [java] lezen van http server
Author: Slayerke
Date: Fri, 26 Dec 2003 16:23
Date: Fri, 26 Dec 2003 16:23
28 lines
2282 bytes
2282 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: > > <knip> De source werkt goed(behalve dan de spatie voor HTTP/1.1). Het stoppen bij </script> bij google is vrij normaal. Je gaat ervan uit dat de teruggestuurde pagina's eindigen op een lege lijn(aangezien je readline gebruikt). En net bij google is het zo dat die automatisch gegenereerde html volledig op 1 lijn staat. Daarbij is het nog zo dat de meeste webservers de connectie laten 'openliggen', zodat opeenvolgende requests naar eenzelfde server deze connectie kunnen hergebruiken. Aangezien dit bij jou niet de bedoeling is, zet je best na de Host: xxx, nog een Connection: Close, zodat de server de verbinding verbreekt nadat alle data verzonden is, dan werkt het wel goed bij google. String fromUser = "GET http://"+ host + url.getPath() + " HTTP/1.1\r\nHost: "+ host+"\r\nConnection: Close\r\n\r\n"; -- Groeten, Stijn
Re: [java] lezen van http server
Author: TRAX
Date: Fri, 26 Dec 2003 18:12
Date: Fri, 26 Dec 2003 18:12
17 lines
1986 bytes
1986 bytes
> > De source werkt goed(behalve dan de spatie voor HTTP/1.1). > Het stoppen bij </script> bij google is vrij normaal. > Je gaat ervan uit dat de teruggestuurde pagina's eindigen op een lege > lijn(aangezien je readline gebruikt). En net bij google is het zo dat die > automatisch gegenereerde html volledig op 1 lijn staat. Daarbij is het nog > zo dat de meeste webservers de connectie laten 'openliggen', zodat > opeenvolgende requests naar eenzelfde server deze connectie kunnen > hergebruiken. Aangezien dit bij jou niet de bedoeling is, zet je best na de > Host: xxx, nog een Connection: Close, zodat de server de verbinding > verbreekt nadat alle data verzonden is, dan werkt het wel goed bij google. > > String fromUser = "GET http://"+ host + url.getPath() + > " HTTP/1.1\r\nHost: "+ host+"\r\nConnection: Close\r\n\r\n"; thx! nu haalt hij google inderdaad correct binnen!
Re: [java] lezen van http server
Author: TRAX
Date: Fri, 26 Dec 2003 18:16
Date: Fri, 26 Dec 2003 18:16
5 lines
1471 bytes
1471 bytes
Als ik met mijn source nu naar http://www.tv1.be ga, dan krijg ik een 403: forbidden terug van de server. Ik weet dat dit waarschijnlijk niet aan mijn source ligt maar kan je mij eens uitleggen hoe ik dat moet oplossen? Er staat ook geen location bij in de http header dus ik weet niet hoe dat komt. Nochatns werkt dezelfde url wel in mijn internet explorer browser...
Re: [java] lezen van http server
Author: Jonas
Date: Fri, 26 Dec 2003 18:42
Date: Fri, 26 Dec 2003 18:42
18 lines
1723 bytes
1723 bytes
Op 2003-12-26 schreef TRAX <Stijn.Verspeet@pandora>: > Als ik met mijn source nu naar http://www.tv1.be ga, dan krijg ik een 403: > forbidden terug van de server. Ik weet dat dit waarschijnlijk niet aan mijn > source ligt maar kan je mij eens uitleggen hoe ik dat moet oplossen? Er > staat ook geen location bij in de http header dus ik weet niet hoe dat komt. > Nochatns werkt dezelfde url wel in mijn internet explorer browser... Je gaat naar "http://www.tv1.be" ? Maw je stuurt GET http://www.tv1.be HTTP/1.1 (of 1.0) ? Dan krijg je inderdaad forbidden. Na GET moet je eigenlijk het pad op de server opgeven, geen volledige url met http:// (het is geen proxy). Dus GET / HTTP/1.1 Vriendelijke groeten, Jonas
Re: [java] lezen van http server
Author: TRAX
Date: Fri, 26 Dec 2003 21:17
Date: Fri, 26 Dec 2003 21:17
10 lines
1857 bytes
1857 bytes
Bedankt, dat los ik wel op met enkele string methoden, ik kan de host altijd in een stringske steken als de url klopt en dan het pad vergelijken. Nu heb ik nog ��n probleempje: Ik zou die html pagina's dus wegschrijven naar een lokaal html bestand en dan parsen of laten parsen door JEditorPane. Maar als er bvb frames of afbeeldingen in die pagina staan met een lokaal pad als src tag dan worden die natuurlijk niet getoond in jEditorpane want ze zijn niet gedownload, dat heb ik ook als ik dat lokaal html bestand bekijk in internet explorer, dat is heel logisch. De vraag is: hoe los ik dit op, moet ik de bron scannen voor src tags of zo en moet ik al die objecten opslaan?
Re: [java] lezen van http server
Author: Nicolas Barbier
Date: Fri, 26 Dec 2003 21:41
Date: Fri, 26 Dec 2003 21:41
12 lines
1525 bytes
1525 bytes
Jonas wrote: > Na GET moet je eigenlijk het pad op de server opgeven, geen volledige url > met http:// (het is geen proxy). Dus > GET / HTTP/1.1 AFAIK mogen beide vormen sinds HTTP 1.1 (hoewel deze server dat niet lijkt toe te laten om een of andere duistere reden). -- Nicolas Barbier Protecting innovation against patent inflation <url:http://swpat.ffii.org/>
Re: [java] lezen van http server
Author: Tim Van Wassenhove
Date: Sat, 27 Dec 2003 02:23
Date: Sat, 27 Dec 2003 02:23
17 lines
1830 bytes
1830 bytes
On 2003-12-26, TRAX <Stijn.Verspeet@pandora> wrote: > Bedankt, dat los ik wel op met enkele string methoden, ik kan de host altijd > in een stringske steken als de url klopt en dan het pad vergelijken. > Nu heb ik nog ��n probleempje: Ik zou die html pagina's dus wegschrijven > naar een lokaal html bestand en dan parsen of laten parsen door JEditorPane. > Maar als er bvb frames of afbeeldingen in die pagina staan met een lokaal > pad als src tag dan worden die natuurlijk niet getoond in jEditorpane want > ze zijn niet gedownload, dat heb ik ook als ik dat lokaal html bestand > bekijk in internet explorer, dat is heel logisch. > De vraag is: hoe los ik dit op, moet ik de bron scannen voor src tags of zo > en moet ik al die objecten opslaan? Waarom gebruik je niet de setPage(URL url) method van JEditorPane ? -- verum ipsum factum
Re: [java] lezen van http server
Author: TRAX
Date: Sat, 27 Dec 2003 09:41
Date: Sat, 27 Dec 2003 09:41
4 lines
1413 bytes
1413 bytes
> Waarom gebruik je niet de setPage(URL url) method van JEditorPane ? Omdat het een rpojectje java en netwerken is, ik moet sockets gebruiken :)
Re: [java] lezen van http server
Author: Tim Van Wassenhove
Date: Sat, 27 Dec 2003 17:21
Date: Sat, 27 Dec 2003 17:21
23 lines
1683 bytes
1683 bytes
On 2003-12-27, TRAX <Stijn.Verspeet@pandora> wrote: > >> Waarom gebruik je niet de setPage(URL url) method van JEditorPane ? > > Omdat het een rpojectje java en netwerken is, ik moet sockets gebruiken :) Dat doet JeditorPane toch ook? :) Lang leve abstractie ;) Ik vrees dat er niets anders op zal zitten dan de tekst te parsen, en eventueel verwijzingen naar externe files eruit te vissen. Maar daarvoor moet je maar eens naar de HTML klassen kijken in de API ;) Vervolgens kan je een proxy maken, waarop je die JEditorPane laat verbinden. Dan heb je Sockets, ServerSocket en wat threading, HTML-zooi en JEditorPane :) -- verum ipsum factum
Re: [java] lezen van http server
Author: TRAX
Date: Mon, 29 Dec 2003 11:54
Date: Mon, 29 Dec 2003 11:54
17 lines
2080 bytes
2080 bytes
> Dat doet JeditorPane toch ook? :) Lang leve abstractie ;) > > > > Ik vrees dat er niets anders op zal zitten dan de tekst te parsen, en > eventueel verwijzingen naar externe files eruit te vissen. Maar > daarvoor > moet je maar eens naar de HTML klassen kijken in de API ;) > > Vervolgens kan je een proxy maken, waarop je die JEditorPane laat > verbinden. Thanks, ik was al van plan om met die html klassen te werken en te parsen, we zullen wel zien welke problemen er nog allemaal uitkomen :) Ja ik weet dat jEditorPane dat ook allemaal doet maar die gast van netwerken wil dat we per se sockets gebruiken en het wiel heruitvinden, ge kent dat he
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads