WinHTTP Connect - PullRequest
       10

WinHTTP Connect

0 голосов
/ 24 августа 2009

Я пытаюсь, чтобы WinHttp выполнял вызовы «CONNECT» (в отличие от «GET» или «POST»), который выглядит следующим образом:

CONNECT www.etrade.com:443 HTTP/1.0
Host: www.etrade.com

Однако winhttp всегда вводит путь после глагола «CONNECT» следующим образом (в начале местоположения):

CONNECT /www.etrade.com:443 HTTP/1.0
Host:  www.etrade.com

Есть обходной путь? или я что то не так делаю? Это в C # .NET 3.5 Framework, Winhttp 5.1

Ответы [ 2 ]

1 голос
/ 25 августа 2009

CONNECT - это не HTTP-глагол, это начало HTTPS-запроса ({часть соединения SSL). С WinHTTP вы просто используете WINHTTP_FLAG_SECURE в OpenRequest. Что-то вроде:

hConnect = WinHttpConnect(
              hSession, 
              "www.etrade.com", 
              443, 
              0
           );
hRequest = WinHttpOpenRequest(
              hConnect,  
              "GET", 
              "/", 
              "HTTP/1.0", 
              WINHTTP_NO_REFERER, 
              WINHTTP_DEFAULT_ACCEPT_TYPES, 
              WINHTTP_FLAG_SECURE
           );

Это дает вам CONNECT (для соединения SSL), а затем GET / (для части HTTP).

0 голосов
/ 25 августа 2009

Почему вы используете WinHTTP, а не System.NET?

Как (конкретно) выглядит ваш код?

Что вы надеетесь сделать, выполнив инструкцию CONNECT?

...