# Bad Request bei Dateiload



## der Pate (24. Aug 2004)

Wenn ich mit dem untenstehenden Programm versuche eine txt-Datei aus dem I-net zu laden, kammt immer ein Bad Request, weil ich angeblich keinen Host mitsende. Wie soll ich das machen???


```
import java.io.*;
import java.net.*;

public class Dateiload {
    

    public static void main(String[] args) {
        
        if(args.length != 2){
            System.out.println("usage: java Quelltextdieb <host> <file>");
            System.exit(0);
        }
        try{
            String datei = "GET " + args[1] + " HTTP/1.0" + "\r\n\r\n";;
            int b;
            Socket sok = new Socket(args[0], 80);
            System.out.println("Socket erstellt");
            InputStream input= sok.getInputStream();
            System.out.println("Inputstream erstellt");
            OutputStream output = sok.getOutputStream();
            System.out.println("Outputstream erstellt");
            output.write(datei.getBytes());
            System.out.println("Anfrage abgeschickt");
            System.out.println();
            System.out.println();
            int i=0;
            datei="";
            while((b = input.read()) != -1){
                System.out.write((char)b);
                /*if(i==1000){
                    break;                    
                }*/
                i++;
            }
            sok.close();
            input.close();
            output.close();
        }
        catch(IOException e){
            System.out.println("Fehler beim lesen der Datei");
        }
        catch(Exception e){
            System.out.println("unbekannter Fehler");
        }
        
    }
    
}
```


----------



## meez (24. Aug 2004)

Lösung 1: Host halt im HTTP-Header mitsenden... (datei+="Host : <host>"; )
Lösung 2: HttpURLConnection Klasse von Java brauchen..
Lösung 3: Das ganze richtig machen mit: http://jakarta.apache.org/commons/httpclient/


----------



## der Pate (24. Aug 2004)

Danke jetzt gehts


----------

