通过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 );