Мой клиент получает необработанные 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);
}
Спасибо за помощь!