2015-12-01 56 views
1

根據MSDN,WinHttpSetCredentials要求您指定確切的用戶名和密碼。使用當前用戶憑據發送WinHTTP請求

有沒有辦法使用當前的用戶憑據?
無需指定用戶名和密碼,即。

當我發送請求,我得到一個401響應。 (服務器是IIS,使用NTLM Windows身份驗證。)

我嘗試下面的MSDN的例子here,但例如要求在給出用戶名和密碼。

編輯:只是爲了讓事情更清晰,我目前使用類似於出現在這裏代碼: winHTTP GET request C++

回答

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); 
} 
相關問題