# Error 400



## Nick H. (18. Jul 2005)

ich will einfach nur eine Seite runterladen
aber ich bekomm wenn ich das mach immer einen Bad Request zurück:

Your browser sent a request that this server could not understand.
client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /

das ganze mach ich mit nem normalen In/OutputSream das hier send ich:

out.write("GET / HTTP/1.1\n\r".getBytes());
out.write("Accept: application/vnd.wap.wmlscriptc, text/vnd.wap.wml, application/vnd.wap.xhtml+xml,application/xhtml+xml, text/html, multipart/mixed, */*, text/vnd.wap.wmlscript\n\r".getBytes());
out.write("Accept-Charset: ISO-8859-1, US-ASCII, UTF-8; q=0.8, ISO-10646-UCS-2; q=0.6\n\r".getBytes());
out.write("Accept-Language: de\n\r".getBytes());
out.write("Cookie2: $Version=\"1\"\n\r".getBytes());
out.write("Host: fun.threeway.net\n\r".getBytes());
out.write("User-Agent: Nokia6230/2.0 (04.44) Profile/MIDP-2.0 Configuration/CLDC-1.1\n\r".getBytes());
out.write("x-wap-profile: \"http://nds1.nds.nokia.com/uaprof/N6230r400.xml\"\n\r".getBytes());
out.write("X-WAPIPADDR: 10.70.77.215\n\r\n\r".getBytes());

das ganze soll ein Handy immitieren aber das sollte ja keinen Unterschied machen
immerhin hat er ja nur mit dem Host Header ein Problem

so öffne ich die Streams:

Socket sock = new Socket("fun.threeway.net", 80);
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();

also stimmt der Host Header doch
wo liegt da das Problem?


----------



## DP (20. Jul 2005)

lass mal die portangabe weg, dann sollte es klappen


----------



## Nick H. (20. Jul 2005)

von welcher Port angabe redestdu?
ich seh da keine...


----------



## thE_29 (20. Jul 2005)

Socket sock = new Socket("fun.threeway.net", 80); 

doda


----------



## Bleiglanz (20. Jul 2005)

das mit dem getBytes kommt mir auch komisch vor?

du schickst das einfach mit deinem default-encoding??

verwende doch lieber einen Writer mit US-ASCII zum Schreiben won text


----------



## Nick H. (20. Jul 2005)

das mit dem getBytes mach ich schon immer so
aber eigentlich hast du recht

Java basiert ja auf Unicode
also würde das ganze ja auch als Unicode geschickt werden
das könnte echt der Fehler sein

>>Socket sock = new Socket("fun.threeway.net", 80); 

ah nicht mit gedacht ich dachte zu meinst im Header
aber wie soll das ohne Port gehen?
nimmt Java auch standardmäßig 80?
und selbst dann sollte das eigentlich tortzdem gehen


----------



## DP (20. Jul 2005)

ja, lass das mit dem port - hatte mich vertan, falsche baustelle (war gedanklich bei der klasse url)

also bei mir funktioniert dein code einwandfrei...


----------



## Nick H. (20. Jul 2005)

kann ja auch sein das der Fehler beim Server liegt
na werd ich mich wohl mit abfinden müssen
so wichtig wars nun auch wieder nicht...


----------



## Bleiglanz (21. Jul 2005)

>>also würde das ganze ja auch als Unicode geschickt werden 

nein, es würde im Default-Encoding deiner Plattform geschickt

sollte aber normalerweise nix ausmachen


----------

