HttpOpenRequest и метод CONNECT - неверный заголовок
От: ValeriSh Россия  
Дата: 16.05.04 08:14
Оценка:
Здравствуйте.

Задача: создать туннель через прокси методом CONNECT.
Проблема: возникает из-за странной особенности библиотеки WinInet (или меня , точнее её API HttpOpenRequest:

После вызова всех соответствующих функций (InternetOpen,....) пытаюсь создать заголовок следующим образом:

hRequest := HttpOpenRequest(hConn,
PChar('CONNECT'),
PChar('localhost:21'),
PChar('HTTP/1.1'),
nil,
nil,
0,
0);

После вызова HttpSendRequest я получаю ошибку ERROR_INVALID_SERVER_RESPONSE, а в логах прокси вижу

CONNECT /localhost:21 HTTP/1.1


Откуда берется слеш перед именем хоста? И как от него избавиться?
Уже неделю пытаюсь понять... пока безуспешно
Спасибо.
Re: HttpOpenRequest и метод CONNECT - неверный заголовок
От: Michael Chelnokov Украина  
Дата: 16.05.04 11:46
Оценка:
Здравствуйте, ValeriSh, Вы писали:

VS>hRequest := HttpOpenRequest(hConn,

VS> PChar('CONNECT'),
VS> PChar('localhost:21'),
VS> PChar('HTTP/1.1'),
VS> nil,
VS> nil,
VS> 0,
VS> 0);
VS>CONNECT /localhost:21 HTTP/1.1
VS>Откуда берется слеш перед именем хоста? И как от него избавиться?
VS>Уже неделю пытаюсь понять... пока безуспешно

Очевидно, WinInet считает себя очень умным и самостоятельно добавляет "/". Понимать тут не надо, это надо принять as is
Попробуйте WinHTTP вместо WinInet...
Re[2]: WinHTTP vs WinInet
От: ValeriSh Россия  
Дата: 16.05.04 13:22
Оценка:
Здравствуйте, Michael Chelnokov, Вы писали:

MC>Очевидно, WinInet считает себя очень умным и самостоятельно добавляет "/". Понимать тут не надо, это надо принять as is

MC>Попробуйте WinHTTP вместо WinInet...

WinHTTP — это, конечно, решение. Однако ж не на каждой машине стоит ХР с сервис-паком-1 или 2003-сервер. Ослик ИЕ, с прикрученным к нему WinInet'ом, напротив, есть (почти) везде Да и таскать с собой ДЛЛ в 300Кб... неудобно.
Тем более, что проблема упирается в один слеш.
Re: HttpOpenRequest и метод CONNECT - неверный заголовок
От: adontz Грузия http://adontz.wordpress.com/
Дата: 16.05.04 13:35
Оценка:
Здравствуйте, ValeriSh, Вы писали:

А если указать http://localhost:21 ?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Re:
От: ValeriSh Россия  
Дата: 16.05.04 17:13
Оценка:
Здравствуйте, adontz, Вы писали:

A>А если указать http://localhost:21 ?


Увы, это ничего не меняет Слеш все равно добавляется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.