使用当前用户凭据发送WinHTTP请求

时间:2015-12-01 14:52:42

标签: c++ http authentication iis winhttp

根据MSDNstring要求您指定确切的用户名和密码。

有没有办法使用当前的用户凭证?
无需指定用户名和密码,即。

当我发送请求时,我收到WinHttpSetCredentials响应。 (服务器是IIS,使用NTLM Windows身份验证。)

我尝试了MSDN的示例here,但该示例需要提供用户名和密码。

编辑:为了让事情更清楚,我目前使用的代码类似于此处显示的代码: winHTTP GET request C++

1 个答案:

答案 0 :(得分:1)

有人在工作时提供了答案:

// Send a request. 
if (hRequest) 
{
    DWORD logonPolicy = WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW;
    BOOL fRet = WinHttpSetOption ( hRequest,
        WINHTTP_OPTION_AUTOLOGON_POLICY,
        (LPVOID*) &logonPolicy,
        sizeof(logonPolicy)); 

    bResults = WinHttpSendRequest( hRequest,
        WINHTTP_NO_ADDITIONAL_HEADERS, 
        0, WINHTTP_NO_REQUEST_DATA, 0,  
        0, 0); 
}