我会直入主题。
这是浏览器请求的样子
获取 /index.html HTTP/1.1
这就是 winHTTP 所做的
获取http://site.com/index.html HTTP/1.1
有没有我可以让 winHTTP 请求与常规请求格式相同?如果有任何区别,我正在使用 VC++ 2008
我会直入主题。
这是浏览器请求的样子
获取 /index.html HTTP/1.1
这就是 winHTTP 所做的
获取http://site.com/index.html HTTP/1.1
有没有我可以让 winHTTP 请求与常规请求格式相同?如果有任何区别,我正在使用 VC++ 2008
您的代码应如下所示:
// Specify an HTTP server.
if (hSession)
hConnect = WinHttpConnect( hSession, L"www.example.com",
INTERNET_DEFAULT_HTTP_PORT, 0);
// Create an HTTP request handle.
if (hConnect)
hRequest = WinHttpOpenRequest( hConnect, L"GET", L"/path/resource.html",
NULL, WINHTTP_NO_REFERER,
WINHTTP_DEFAULT_ACCEPT_TYPES,
WINHTTP_FLAG_SECURE);
// Send a request.
if (hRequest)
bResults = WinHttpSendRequest( hRequest,
WINHTTP_NO_ADDITIONAL_HEADERS,
0, WINHTTP_NO_REQUEST_DATA, 0,
0, 0);
您可以从您的代码中发布这三个调用吗?
请注意,完整的 URL 分为两部分 - 主机名在WinHttpConnect
调用中指定,但相对资源路径在WinHttpOpenRequest
调用中指定(作为pwszObjectName
参数)。根据您的评论,您似乎在WinHttpConnect
通话中指定了完整的 URL。