anoniem Geplaatst: 27 februari 2002 Delen Geplaatst: 27 februari 2002 Ik wil in een Java applet kijken of een bepaalde URL bestaat. Ik moet iets met java.net.HttpURLConnection.getResponseMessage doen of zoiets, maar ik kom er niet echt uit. :sad: Ik heb al op Internet gezocht, maar niks gevonden. Weet iemand wat ik moet doen? Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 niet goed genoeg gezocht :wink: [url]http://www.rgagnon.com/javadetails/java-0059.html[/url] Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 Zo'n soort code ben ik al tegengekomen, maar hij wilt maar niet werken. [code:1:b2bb91b2eb] try { HttpURLConnection con = HttpURLConnection) (new URL("http://www.server.com/file.txt")).openConnection(); } catch (Exception ex) { TextArea.print(ex.getMessage()); } [/code:1:b2bb91b2eb] Elke keer zegt ex.getMessage(): "com/ms/net/wininet/http/HttpURLConnection" Ontzettend vaag dus. Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 kijk ten eerste naar de cast naar HttpURLConnection, daar mis je een haakje. ten tweede gebruik je jvc om te compileren? Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 [quote:075986b0f7] Op 28-02-2002 15:31, schreef cim: kijk ten eerste naar de cast naar HttpURLConnection, daar mis je een haakje. ten tweede gebruik je jvc om te compileren? [/quote:075986b0f7] Dat haakje was een typefout tijdens het overtypen op het forum. :wink: Hij compileerde zonder problemen. Ik gebruik JDK 1.3 om te compileren. Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 indien je dit probleem met msie(4) ervaart: het schijnt dat de msvm een instantie van com.ms.net.wininet.http.URLConnection aflevert bij het aanroepen van de openConnection() methode, en om de één of andere reden (waarschijnlijk door de cast) een ClassCastException opgooit. probeer deze uitzondering eens expliciet te vangen en de stack trace hiervan uit te printen. Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 [quote:29c87daf69] Op 28-02-2002 15:27, schreef RobertV: Zo'n soort code ben ik al tegengekomen, maar hij wilt maar niet werken. [code:1:29c87daf69] try { HttpURLConnection con = HttpURLConnection) (new URL("http://www.server.com/file.txt")).openConnection(); } catch (Exception ex) { TextArea.print(ex.getMessage()); } [/code:1:29c87daf69] [/quote:29c87daf69] Je doet hier iets met een cast van een URL. De API zegt dit: HttpURLConnection(URL u) Ik zou dus zeggen dat [code:1:29c87daf69] HttpURLConnection con = new HttpURLConnection(new URL("http://www.server.com/file.txt")); con.connect(); [/code:1:29c87daf69] genoeg zou moeten zijn. Misschien klopt dit niet helemaal, maar allicht lost het iets op. Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 Dat had ik al geprobeerd, maar HttpURLConnection is een abstracte class dus dat kon niet. Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 Ik kreeg al vanaf het begin een exception. [code:1:48c9cc90e5] try { HttpURLConnection conn = (HttpURLConnection) new URL("http://members1.chello.nl/~h.lai/landscape.jpg").openConnection(); TextArea.print("ok"); } catch (Exception ex) { TextArea.print(ex.getMessage() + " " + ex.toString()); }[/code:1:48c9cc90e5] "ok" werd nooit bereikt. Elke keer zegt TextArea: com/ms/net/wininet/http/HttpURLConnection java.lang.ClassCastException: com/ms/net/wininet/http/HttpURLConnection Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 lees ook m'n eerdere post probeer eens op deze manier te casten [code:1:de32af25c0](java.net.HttpURLConnection)new URL("http://...").openConnection();[/code:1:de32af25c0] of anders [code:1:de32af25c0](com/ms/net/wininet/http/HttpURLConnection)new URL("http://...").openConnection();[/code:1:de32af25c0] en kijk wat er gebeurt. nogmaals, ik denk dat dit een *bug* (of feaure, hoe je wil) is binnen de msvm. test ook eens in appletviewer of een andere vm. [ Dit Bericht is bewerkt door: cim op 2002-02-28 19:31 ] Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 com.* paketten worden niet ondersteund in JDK. Quote Link naar reactie
anoniem Geplaatst: 1 maart 2002 Auteur Delen Geplaatst: 1 maart 2002 third-party klassen in (com.*) packages worden wel degelijk ondersteund, zolang ze voor de compiler te vinden zijn. je kan de locatie van deze klassen o.a. middels de classpath switch in javac/java aangeven. de standaard ms packages zijn te vinden onder windows/java/packages (het zijn zip bestanden) wetenschap hiervan zal je probleem echter niet oplossen daar het feitelijke probleem ligt bij de msvm die om de één of andere duistere reden ipv java.net.URLConnection com.ms.net.wininet.http.HttpURLConnection aflevert bij aanroep van openConnection(). na enig onderzoek schijnt deze klasse ook nog eens private te zijn. mijns inziens een loeier van een bug (of wederom, een feature :wink:) ik zie op dit moment geen oplossing voor deze bizarre situatie, behalve een andere vm te (laten) gebruiken. iig success. Quote Link naar reactie
anoniem Geplaatst: 1 maart 2002 Auteur Delen Geplaatst: 1 maart 2002 TripleE: Embrace, Extend, Exterminate. Maar goed, die Java applet die ik maak is sowieso alleen bedoeld voor mensen die Windhoos draaien met MSJVM. Quote Link naar reactie
anoniem Geplaatst: 1 maart 2002 Auteur Delen Geplaatst: 1 maart 2002 Ik heb set CLASSPATH=C:WINDOWSJAVAPackages;. gedaan, maar dan kan javac com.* nog steeds niet vinden. Quote Link naar reactie
anoniem Geplaatst: 1 maart 2002 Auteur Delen Geplaatst: 1 maart 2002 nogmaals, het gaat hier volgens mij om een bug! de msvm levert een instantie van com.ms.net.wininet.http.HttpURLConnection af bij aanroep van URL.openConnection(). dus niet zoals de documentatie van de ms sdk (of, uiteraard, de jdk van sun) zou doen vermoeden een instantie van java.net.URLConnection (of zelfs java.net.HttpURLConnection). de ClassCastException die volgt is dan niet meer zo moeilijk te verklaren: door de cast van klasse com.ms.net.wininet.http.HttpURLConnection naar (ongerelateerde klasse) java.net.HttpURLConnection wordt de uitzondering gegenereerd. een expliciete import van klasse com.ms.net.wininet.http.HttpURLConnection geeft tijdens compilatie met jvc de volgende fout: "Cannot access 'HttpURLConnection' -- only public classes and interfaces in other packages can be accessed." (jvc zou bij het écht onvindbaar zijn van een klasse of package op een andere manier reageren). de statement urlInstantie.openConnection instanceof HttpURLConnection resulteert bij gebruik v/d msvm in de waarde false urlInstantie.openConnection().getClass().getName() resulteert echter in 'com.ms.net.wininet.http.HttpURLConnection...' zeg jij het maar.... Quote Link naar reactie
anoniem Geplaatst: 1 maart 2002 Auteur Delen Geplaatst: 1 maart 2002 je moet trouwens één v/d zip bestanden importeren (de grootste). ook kun je in je register te weten komen waar jvc/msvm z'n standaard klassen vandaan *tovert*. HKEY_LOCAL_MACHINESOFTWAREMicrosoftClasspathClasses op de machine waar ik nu achter zit (win2k) maar ik raad je aan om voor ms specifieke extensies etc. de ms sdk voor java of visual j++ te gebruiken. Quote Link naar reactie
anoniem Geplaatst: 2 maart 2002 Auteur Delen Geplaatst: 2 maart 2002 Ik begin onderhand zoiets te krijgen van waarom doe je het niet gewoon zelf? Schrijf een socket, verbind die met de juiste website, verstuur een GET en luister in het antwoord of je een 200 (OK) terugkrijgt... :wink: Ik heb even gezocht in de API of ik er iets over kon vinden, maar er stat me iets bij dat alleen JavaServlets verbindingen konden maken en applets dus niet. Dit vanwege veiligheid van de gebruiker ofzo. Ik ben er niet helemaal zeker van, maar ik meen me dit te herinneren van een hoorcollege... [ Dit Bericht is bewerkt door: greffov op 2002-03-02 10:03 ] Quote Link naar reactie
anoniem Geplaatst: 2 maart 2002 Auteur Delen Geplaatst: 2 maart 2002 Misschien omdat ik niet weet hoe HTTP precies werkt? :smile: Nou ja, ik ga het proberen. Bedankt. Quote Link naar reactie
anoniem Geplaatst: 2 maart 2002 Auteur Delen Geplaatst: 2 maart 2002 [quote:9cfec268d6] Op 02-03-2002 9:53, schreef greffov: Ik heb even gezocht in de API of ik er iets over kon vinden, maar er stat me iets bij dat alleen JavaServlets verbindingen konden maken en applets dus niet. Dit vanwege veiligheid van de gebruiker ofzo. Ik ben er niet helemaal zeker van, maar ik meen me dit te herinneren van een hoorcollege...[/quote:9cfec268d6] Klopt, normale applets kunnen dat ook niet. Dat kunnen alleen applets met een handtekening (maar daarvoor moet je natuurlijk weer tonnen geld betalen aan een of ander bedrijf). Maar ik heb een enorme Java-beveiligingsgat (of een Java-"feature" :wink: ) in Windows gevonden: (w)jview.exe Een applet kan werkelijk alles doen zonder dat de beveiliging een rol speelt. Quote Link naar reactie
anoniem Geplaatst: 2 maart 2002 Auteur Delen Geplaatst: 2 maart 2002 [quote:4f68f8a23a] Op 02-03-2002 11:55, schreef RobertV: *sinp* .... Maar ik heb een enorme Java-beveiligingsgat (of een Java-"feature" :wink: ) in Windows gevonden: .... *snip* [/quote:4f68f8a23a] nee, ms-increased-productivity-feature :wink: Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen