2015-04-27 5 views
0

Как я спросил, Я просто хочу знать, как получить недопустимое сообщение от клиента в http-узле nodejs.Как я могу получить недопустимое сообщение запроса от клиента в узле js http module

Например, обычно клиент отправляет серверу «GET/HTTP/1.1 \ r \ n \ r \ n», но если я отправил «VID/HTTP/1.1 \ r \ n \ r \ n», как это, на сервере нет реакции. Я уже проверил, что серверный компьютер получает сообщение «VID/HTTP/1.1 \ r \ n \ r \ n» с помощью проводной акулы.

Благодарим за помощь.

Я посмотрел решение, которое использует ответ 404, но это не сработало.

взгляд на этот сервер код создания

функции сервера (маршрут, подключение) { console.log ("запуска функции сервера");

function onRequest(req, response) { //req:clientrequest ,response : server response; 
    console.log("ans server"); 
    Route(req,connect,response,hnd.Hnd); 
} 
http.createServer(onRequest).listen(port); 

}

когда я отправить сообщение "GET /HTTP/1.1\r\n\r\n" от клиента, сервера консоли записи "ANS-сервер". Но не VID

VID один вид примера, который я принимаю протокол ..

+0

Какое HTTP-сообщение будет «VID»? –

+0

@KlausD .: Недопустимый. Посмотрите на заголовок. AFAIK Node просто закроет соединение, которое открывается с недопустимым сообщением; Кажется, что OP ищет способ справиться с ответом '400'. – Amadan

+0

Я думаю, что OP считает, что HTTP «VID» (вместо «GET», «POST», «PUT» и т. Д.) Должен вызывать HTTP 400: Bad Request. Возможно, он хочет увидеть, как клиент обрабатывает различные условия ошибки. Я не уверен, что это правда ... но я не могу предложить какие-либо хорошие способы преднамеренного запуска HTTP 400 ... – FoggyDay

ответ

0

@slebetman: Спасибо за ваше решение.

Я проголосовал за закрытие и привязку к соответствующему вопросу (см. Выше). К сожалению, вам придется модифицировать узел в C и скомпилировать собственный пользовательский node.js. Были заявки на добавление API для этого, но до сих пор похоже, что он никуда не денется: github.com/joyent/node/issues/3192 и github.com/joyent/http-parser/pull/158 - slebetman

 Смежные вопросы

  • Нет связанных вопросов^_^