Error 400

Status
Nicht offen für weitere Antworten.

Nick H.

Bekanntes Mitglied
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?
 

Bleiglanz

Gesperrter Benutzer
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.

Bekanntes Mitglied
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

Top Contributor
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.

Bekanntes Mitglied
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

Gesperrter Benutzer
>>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
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben