通过WinHttp的WinHttpSetCredentials函数来访问加密网页。
网页的用户名密码加密类型共有五种,分别是:
WINHTTP_AUTH_SCHEME_BASIC | Indicates basic authentication is available. |
WINHTTP_AUTH_SCHEME_NTLM | Indicates NTLM authentication is available. |
WINHTTP_AUTH_SCHEME_PASSPORT | Indicates passport authentication is available. |
WINHTTP_AUTH_SCHEME_DIGEST | Indicates digest authentication is available. |
WINHTTP_AUTH_SCHEME_NEGOTIATE | Selects between NTLM and Kerberos authentication. |
而MSDN中的加密网页示例不包含WINHTTP_AUTH_SCHEME_BASIC类型,而路由中的加密类型恰巧就是这种类型。
在WinHttpSendRequest之前加上WinHttpSetCredentials,就行了。
bResults = WinHttpSetCredentials( hRequest, WINHTTP_AUTH_TARGET_SERVER, WINHTTP_AUTH_SCHEME_BASIC, L"admin", L"", NULL );