# http request per socket an apache server



## antipas (13. Mai 2006)

Hallo,
versuche per sockets einen http request an einen laufenden apache server zu senden. Das Senden klappt auch noch, doch beim read kommt das Programm nicht mehr zurück. Leider wird auch keine Ausnahme ausgelöst.

Bin dankbar für jeden Hinweis.

Das Coding:


```
server = new Socket( "localhost", 80 );
			      boolean isConnected = server.isConnected();
			   
			      OutputStream out = server.getOutputStream();
			      String request = "HEAD /apache_pb.gif HTTP/1.0";
			      
			      Charset charset = Charset.forName("UTF-8");
			      ByteBuffer buffer = charset.encode(request);
			      byte[] buffer_ = buffer.array();
			      
			      OutputStream out1 = server.getOutputStream();
			      out1.write(buffer_);
			      InputStream in = server.getInputStream();
			      byte[] b = new byte[1024];
			      in.read( b );
			      server.close();
```


----------



## foobar (14. Mai 2006)

Guck dir mal die Klasse URL an, damit kannst du auch Http-Requests senden.


----------



## antipas (14. Mai 2006)

Danke, aber damit kann man z.B. keinen WebDav request versenden, und da ich einen WebDav client bauen will, würde ich gerne weiter unten einsteigen.


----------



## Murray (14. Mai 2006)

Versuch doch mal, nach dem write den OutputStream zu flushen; vermutlich ist in Deiner Version beim Server noch keine Request angekommen:

```
OutputStream out1 = server.getOutputStream();
out1.write(buffer_); 
out1.flush();
```


----------



## meez (15. Mai 2006)

Hier mal wieder mein Lieblingslink bei solchen Fragen: http://jakarta.apache.org/commons/httpclient/


----------



## antipas (20. Mai 2006)

Ja, ich weiß, daß man Jakarta nutzen könnte; trotzdem würde mich eine Lösung des eigentlichen Problems interessieren.


----------

