Datei von Server holen

Hi!

Ich würde gerne eine Datei von einem beliebigen Server anfordern und die Antwort die ich vom Server erhalte möchte ich gerne mit meinem Client ausgeben. Leider funktioniert mein Code nicht richtig, ich kriege zwar immer eine Verbindung zu einem Server, das war es dann aber auch, dass Programm terminiert nach einer gewissen Zeit mit einer EOFException.
Die Anfrage nach einer Datei soll in der Kommandozeile stattfinden und so aussehen:
www.uni-protokolle.de 80 get /index.php

Ich weiß nicht wo der Fehler steckt, deshalb hoffe ich hier auf einen guten Hinweis.

Java Code:
[LEFT]

[ol]
[li][FONT=Courier New]import java.io.;[/li][li]import java.net.;[/li][li]import java.util.ArrayList;[/li][li] [/li][li]public class HttpClient {[/li][li] private ObjectInputStream obj_in;[/li][li] private ObjectOutputStream obj_out;[/li][li] [/li][li] public ArrayList sucheDatei(String file) throws ClassNotFoundException {[/li][li] ArrayList liste = new ArrayList();[/li][li] try {[/li][li] obj_out.writeObject(“suchen”);[/li][li] obj_out.writeObject(file);[/li][li] file = (String) obj_in.readObject();[/li][li] [/li][li] liste.addAll(sucheDatei(file));[/li][li] System.out.println(liste);[/li][li] [/li][li] } catch(IOException e) {[/li][li] e.printStackTrace();[/li][li] }[/li][li] return liste;[/li][li] [/li][li] [/li][li] }[/li][li] [/li][li] public void run(String[] args) {[/li][li] final String serverName = args[0];[/li][li] final int port = Integer.parseInt(args[1]);[/li][li] try {[/li][li] Socket theServer = new Socket(InetAddress.getByName(serverName), port);[/li][li] System.out.println("Verbunden mit " + theServer.getInetAddress());[/li][li] [/li][li] obj_out = new ObjectOutputStream(theServer.getOutputStream());[/li][li] obj_in = new ObjectInputStream(theServer.getInputStream());[/li][li] [/li][li] System.out.println([/li][li] "Suche wie folgt eingeben: get ");[/li][li] String cmd = args[2];[/li][li] [/li][li] [/li][li] if (cmd.startsWith("get ")) {[/li][li] String file = args[3];[/li][li] sucheDatei(file);[/li][li] obj_out.writeObject("get " + file);[/li][li] Object obj = obj_in.readObject(); [/li][li] System.out.println(obj + file);[/li][li] }[/li][li] else { [/li][li] System.out.println(“Ungueltiger Befehl”);[/li][li] }[/li][li] [/li][li] System.out.println(“ok”);[/li][li] obj_in.close();[/li][li] obj_out.close();[/li][li] }[/li][li] catch(Exception e) {[/li][li] System.err.println(e);[/li][li] }[/li][li] }[/li][li] public static void main(String[] args) {[/li][li] [/li][li] HttpClient client = new HttpClient();[/li][li] client.run(args);[/li][li] [/li][li] [/li][li] [/li][li] [/li][li] [/li][li] }[/li][li]}[/li][/ol]
[/FONT]
[/LEFT]

Wir haben hier im Forum code-tags…:wink:
Dieser selbstgebastelte html-Kram war nicht nötig. Fürs nächste Mal merken, ok?

Deine Anfrage an den Server ist schon einmal nicht richtig, das kannst du einfach ausprobieren in dem du mit einem Telnet Client auf den Server gehst und die Anfrage eintippst.
Und warum willst du ein Object einlesen?