Was heisst nur die URL abzuschicken.
Du willst den Request ausführen, aber nix zurückerhalten?
Und es heisst Methode, nicht Funktion.
Vermutlich reicht das:
try {
url = new URL(urlToRead);
conn = (HttpURLConnection) url.openConnection();
conn.connect();
if (conn.getResponseCode() == 200 ) System.out.println("alles ok"); System.out.println("nix gut. Response code=" + conn.getResponseCode());
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
(see
http://www.koders.com/?s=HttpUrlConnection&_%3Abtn=Search&_%3Ala=Java&_%3Ali=*
HTTPAgentNamingServiceImplTest.java
)
versuchs einfach mal. Hab mir das nicht genauer angeschaut.
Ansonsten:
1.
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = rd.readLine()) != null) {
result += line;
}
Ist das schlechter Java Code
(
- warum Streams und Strings mixen?
)
2. ist das unrobuster Java Code
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = rd.readLine()) != null) {
result += line;
}
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
Falls in der while()
irgendeine Exception auftritt (z.B. Server geht beim Lesen runter) bleiben Sockets auf dem Client offen. Vermutlich sind das genau die Leute, die sich so gerne über Microsoft echauffieren.
3. Ist das inperformanter Java-Code.
Für line besser Stringbuffer verwenden.
3. ist es vermutlich sauberer am Ende ein conn.disconnect() zu machen.
4. Benutzt das LS2J und da wurden - ausser von Ralf - memory leak Probleme gemeldet
5. funktioniert das nicht hinter einer Firewall
und 6. ist das zumindest mit Notes 6 viel einfacher zu lösen, indem man HttpClient aus dem Jakarta-Commons Projekt verwendet.
Gruß Axel