# Socket + HTTP Header



## gast (20. Jun 2008)

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: 	

```
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?


----------



## Guest (20. Jun 2008)

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))


----------



## Guest (20. Jun 2008)

danke


----------

