В настоящее время я создаю небольшой веб-сервер (для тестирования), и у меня есть проблема с чтением заголовка HTTP-запроса (исходящего из браузера, хром в моем случае).Прочитать полный HTTP-заголовок запроса
Во-первых, я просто пытался что-то вроде этого:
BufferedReader in = new BufferedReader(
new InputStreamReader(client_socket.getInputStream(), "UTF-8")
);
StringBuilder builder = new StringBuilder();
while (in.ready()){
builder.append(in.readLine());
}
return builder.toString();
Это работало отлично для первого запроса. Однако после первого запроса метод ready()
только вернулся false
(я закрыл , а также всех читателей/писателей).
После небольшого поиска я наткнулся на этом старшем вопрос: Read/convert an InputStream to a String
Я попробовал первое четыре решения (два с Apache Commons, один с Scanner
и один с Do-While Loop). Все они заблокированы навсегда, и браузер дал мне «Сайт недоступный» -error.
Я хотел бы сделать это самостоятельно (без использования каких-либо библиотек или встроенных серверов), поэтому я даже пытаюсь.
Я немного потерял прямо сейчас, как бы вы это сделали?
Хотя ваш данный код-пропущено не будет компилировать ('String' начинается в верхнем регистре), фиксированная версия работает отлично. Благодарим за это. –