Форум

/ домой \ \ темы /



Тема: Переменные REMOTE_HOST и REMOTE_ADDR

21/11/2008 06:47 ViZh:
Здравствуйте Макс. Очень замечательная у вас программа. Хочу Вам сказать спасибо.

Вопрос у меня такой. Есть некая pdqweb.dll, через некое описание текстовое она работает на подобии CGI и далее в СУБД М, я обрабатываю запросы. С ней работаю под IIS, но вот появилось сильное желание поработать с Small HTTP server. Получится то получилось, но вот что то творится с переменными, куда-то девается последний символ в получаемом IP адресе и выдает - %("REMOTE_ADDR")="127.0.0."
Не знаю достаточно ли грамотно все объяснил - с уважением Виктор.
21/11/2008 14:58 Max:
Как я понял DLL работает по ISAPI интерфейсу. В этом интерфейсе, при запросе переменной окружения вы указывайте длину строки. Вероятно у вас при запросе длина оказывается меньше чем необходимо и последний символ не влазит.
21/11/2008 15:05 ViZh:
Обезает любой адрес и длинный и короткий. Я подставлял и так чтобы последная цифра ip была трехзначной - оставляет два знака. Т.е. просто режет конкретно один последний символ символ независимо от длины.
23/11/2008 00:47 Max:
Он не обрезает адреса просто так. Он возвращает не больше символов чем разрешено в запросе и вы легко можете в этом убедиться просто увеличив значение максимальной длины.
Возможно проблема в том, что сервер так же возвращал длину строки, не учитывая завершающего нулевого байта, а при возврате строки он этот нулевой байт учитывал и обязательно добавлял в конец. Сейчас я сделал тестовую версию в которой сервер сообщает размер переменной с учетом завершающего нулевого байта т.е. на байт больше чем надо. Пока не уверен, что это правильно, посмотрю как это будет работать с другими программами.
24/11/2008 05:46 ViZh:
Спасибо !!!
Вот результат при ip 192.168.1.192:
REMOTE_ADDR=192.168.1.192
REMOTE_HOST=192.168.1.192
Т.е. сработало ... почему так все получается я незнаю.

C уважением, Виктор.


Пользователь: Пароль: Новый пользователь:   Запомнить пароль: