Название: Проблема с реализацией некоторых фрагментов для сервера Отправлено: raaawr от Октябрь 22, 2013, 19:38 Простите пожалуйста за некорректную информацию в прошлой теме.
Вообщем этот же сервер, на стр. браузера по адресу localhost он выводит дату. Задание заключается в том, что при изменении адреса, например на: localhost/asdf он должен ввести ошибку,аналогичную ошибке 404, в моем случае он выводит код ошибки "203" заголовок(qsimpleserver.h) Код
исходник1 (qsimpleserver.cpp) Код
исходник2(tst_simpleservertest.cpp) Код
в про файле отличие от стандарта только: Код
вообщем попытался сделать так: Код
Но вывод на странице localhost и к примеру localhost/afag лишь код ошибки, а хотелось бы чтоб на localhost был код ошибки, а на другом собственно дата. Надеюсь кто-нибудь меня поймет): Название: Re: Проблема с реализацией некоторых фрагментов для сервера Отправлено: VPS от Октябрь 22, 2013, 21:48 Если я правильно понял, то Вам надо сделать парсер строки запроса от браузера. И, если запрос (GET) на правильный url (в вашем случае на '/'), то отправляете ему время и код 200, а если запрос на "левый" url, то код ответа 404...
Название: Re: Проблема с реализацией некоторых фрагментов для сервера Отправлено: raaawr от Октябрь 22, 2013, 21:53 Если я правильно понял, то Вам надо сделать парсер строки запроса от браузера. И, если запрос (GET) на правильный url (в вашем случае на '/'), то отправляете ему время и код 200, а если запрос на "левый" url, то код ответа 404... правильно поняли,спасибо, попробую) Название: Re: Проблема с реализацией некоторых фрагментов для сервера Отправлено: raaawr от Октябрь 22, 2013, 22:23 Если я правильно понял, то Вам надо сделать парсер строки запроса от браузера. И, если запрос (GET) на правильный url (в вашем случае на '/'), то отправляете ему время и код 200, а если запрос на "левый" url, то код ответа 404... только я понятия не имею как сделать парсер строки:D Название: Re: Проблема с реализацией некоторых фрагментов для сервера Отправлено: VPS от Октябрь 24, 2013, 21:43 только я понятия не имею как сделать парсер строки:D Ели по простому, то можно как-то так (псевдокод): 1. Преобразовать запрос, считанный из сокета, в строку. 2. Разбить эту строку на подстроки и поместить их в список QStringList (разбить по "\r\n\r\n"). 3. Создать регулярное выражение поиска подстроки, где содержится "GET (path) HTTP..." 4. В цикле пройтись по списку и если найдено совпадение, то вернуть строку с путём, который вернёт регулярное выражение. 5. В зависимости от пути, который вернётся в п.4 сформировать и отправить нужный ответ в сокет. |