# Error 404 obwohl die Datei existiert



## simonl (21. Sep 2008)

Hallo,


```
try {       
        String hostname = "www.irgendeineseite.com";
        int port = 80;
        InetAddress addr = InetAddress.getByName(hostname);
        Socket socket = new Socket(addr, port);
    
        String path = "/index.php";
        BufferedWriter bwr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
        bwr.write("GET "+path+" HTTP/1.0\r\n");
        bwr.write("Content-Type: application/x-www-form-urlencoded\r\n");
        bwr.write("\r\n");
  
        bwr.flush();
    
        BufferedReader brd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String s;
        String str="";
        while ((s = brd.readLine()) != null) {
            str=str + s;
        }
        System.out.print(str);
        bwr.close();
        brd.close();
} catch (Exception e) { }
```

für einige seiten funktioniert es und ich bekomme den quellcode ausgespuckt.

leider bekomme ich für einige andere seiten nen 404er error (seite nicht gefunden), obwohl die jeweilige datei auf dem server existiert und mit einem browser auch abzurufen ist.

weiß jemand woran das liegen kann?


----------



## DocRandom (21. Sep 2008)

Moin!

..ohne Deinen Code getestet zu haben fällt mir auf, das Du immer eine *index.php* erwartest.
Könnte es sein, das die _404er-Seiten_ keine *php* sondern nur **.html* sind?

lg
DocRandom


----------



## simonl (21. Sep 2008)

die index.php ist doch nur ein beispiel wie www.irgendeineseite.com


----------



## musiKk (21. Sep 2008)

Und wenn du den Pfad trotzdem weglässt und nur nach dem Root der Domain gehst?


----------



## Guest (21. Sep 2008)

geht teilweise, wenn z.b. ne php nicht geht. bringt mir aber leider nichts


----------



## musiKk (21. Sep 2008)

Kannst du mal ein Beispiel einer Seite angeben? Es wundert mich, dass es angeblich im Browser funktioniert, im Programm aber nicht.


----------



## simonl (21. Sep 2008)

z.b. wenn ich den thread hier haben will: http://www.java-forum.org/de/viewtopic.php?p=449676

Antwort vom Server: 

```
HTTP/1.1 404 Not FoundDate: Sun, 21 Sep 2008 12:41:35 GMTServer: ApacheVary: Accept-EncodingContent-Length: 291Connection: closeContent-Type: text/html; charset=iso-8859-1<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1>

The requested URL /de/viewtopic.php was not found on this server.</p><hr><address>Apache Server at server281-han.de-nserver.de Port 80</address></body></html>
```


----------



## simonl (21. Sep 2008)

hier das ganze etwas übersichtlicher:


```
HTTP/1.1 404 Not Found
Date: Sun, 21 Sep 2008 12:41:35 
GMTServer: 
ApacheVary: 
Accept-EncodingContent-Length: 291
Connection: 
closeContent-Type: text/html; 
charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1>


The requested URL /de/viewtopic.php was not found on this server.</p>
<hr><address>Apache Server at server281-han.de-nserver.de Port 80</address></body>
</html>
```


----------



## musiKk (21. Sep 2008)

```
bwr.write("Host: www.java-forum.org\r\n");
```
hinzufügen.


----------



## simonl (21. Sep 2008)

Danke, es funktioniert


----------

