Обрабатывать необработанные HTTP-заголовки с помощью HttpClient в Java - PullRequest
1 голос
/ 14 октября 2011

Мой клиент получает необработанные HTTP-заголовки (включая GET, POST, Multipart POST и т. Д.), И я хочу отправить их на сервер и получить выходные данные. Но я не хочу анализировать весь запрос вручную, а затем установить все эти проанализированные данные в HttpClient ...

Есть ли элегантный способ сделать это (даже что-то вроде кода ниже)?

AGoodHttpClient response = new AGoodHttpClient(host, port, myHeaders);
InputStream in = response.getInputStream();
// ...

Отредактированный

Допустим, у меня есть этот код. Как распознать EOS (-1 не работает для HTTP / 1.1). Есть ли гарантированный способ обрезать соединение, когда передача сделана? Я хочу что-то, что будет заботиться о разрыве соединения (что-то вроде HttpClient), но с прямым доступом к заголовкам отправки (как outToServer.write(myHeaders)).

 Socket connectionToServer = new Socket(host, port);
 OutputStream outToServer = connectionToServer.getOutputStream();

 outToServer.write(myHeaders.getBytes());

 InputStream inputFromServer = connectionToServer.getInputStream();
 byte[] buff = new byte[1024];

 int count;
 while ((count = inputFromServer.read(buff)) != -1) {
       System.out.write(buff, 0, count);
 }

Спасибо за помощь!

...