我正在尝试让WinHttp进行一个“连接”调用(而不是“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框架中,Winhttp 5.1
发布于 2009-08-25 02:12:15
CONNECT不是HTTP动词,它是HTTPS请求的开始({ SSL connect部分)。对于WinHTTP,您只需在OpenRequest上使用WINHTTP_FLAG_SECURE即可。类似于:
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部分)。
发布于 2009-08-25 01:57:31
为什么要使用WinHTTP而不是System.NET?
你的代码(特别)是什么样子的?
您希望通过手动连接来实现什么目标?
https://stackoverflow.com/questions/1324317
复制相似问题