Socket + HTTP Header

  • Themenstarter Themenstarter gast
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

gast

Gast
hallo hatte vor mit ein prog zu schreiben das ein HTTP Header los schickt und dann die rückantwort auf meinen bildschirm zeigt...

hab nun folgenden code geschrieben:
Code:
try{
		Socket socket = new Socket("www.heise.de",80);
		socket.setSoTimeout(600);
		Scanner scanner = new Scanner(socket.getInputStream());
		PrintWriter printer = new PrintWriter(socket.getOutputStream(),true);
		printer.print(
		"GET /newsticker/Yahoo-bietet-zwei-neue-E-Mail-Domains-an--/meldung/109733 HTTP/1.1\n" +
		"Accept: text/html, image/jpeg, image/gif, */*\n" +
		"Accept-Charset: ISO-8859-1\n" +
		"Referrer: http://www.bolege.de/whoiam/\n" +
		"User-Agent: whoiam [http://www.bolege.de/whoiam]\n" +
		"Original-Request-IP: 23.23.23.23\n" +
		"Host: www.heise.de\n"
		);
		printer.flush();
		String text;
		while((scanner.hasNext())== true){
		text = scanner.nextLine();
		System.out.println(text);
		}
		scanner.close();
		printer.close();
		socket.close();
		}catch(IOException e){
			System.out.println(e);
			System.exit(1);
		}
	}

aber irgendwie klappt das mit dem header nicht richtig :/ habe ihn von der seite http://bolege.de/whoiam/result.html einfach kopiert um zu schauen obs klappt aber irgendwie will der mir keine antwort schicken 🙁

hättet ihr vll nen plan was ich falsch gemacht habe?
 
Hallo,

du hast die Escape-Sequenz am Header-Ende vergessen:

printer.print(
"GET /newsticker/Yahoo-bietet-zwei-neue-E-Mail-Domains-an--/meldung/109733 HTTP/1.1\n" +
"Accept: text/html, image/jpeg, image/gif, */*\n" +
"Accept-Charset: ISO-8859-1\n" +
"Referrer: http://www.bolege.de/whoiam/\n" +
"User-Agent: whoiam [http://www.bolege.de/whoiam]\n" +
"Original-Request-IP: 23.23.23.23\n" +
"Host: www.heise.de\n" +
"\n" // <- HIER
);


Im Übrigen gibt es auch HttpClient-Libs, die dir das Leben einfacher machen. Z.B. commons HttpClient (http://hc.apache.org/httpclient-3.x/) oder auch libs welche zusätzlich ein asynch. Programmiermodell unterstützen (z.B. xSocket-Familie -> http://xsocket.sourceforge.net/ bzw. http://xsocket.sourceforge.net/http/tutorial/V2/TutorialHttp.htm, oder auch MINA AsynchWeb (http://docs.safehaus.org/display/ASYNCWEB/Home))
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben