使用HttpSendRequest强制进行基本身份验证?

问题描述 投票:4回答:1

当连接到InternetSetOption服务时,使用username设置passwordREST。我注意到,即使我先调用了InternetSetOption,WinInet也不会在调用HttpSentRequest时发送Authorization标头。看起来很荒谬,你必须首先从WWW-Authenication标头获得服务器的响应。这会在每次请求时向服务器创建一个完整的额外请求。

是否有WinInet调用强制第一次调用的Authorization标头或我是否必须手动添加它?

c++ authentication wininet
1个回答
0
投票

在HttpSendRequestW之前调用函数InternetSetOptionW。例如:

InternetSetOptionW( hRequest, INTERNET_OPTION_USERNAME, (void*) pwszAuthUserName, wcslen( pwszAuthUserName ) + 1 );
InternetSetOptionW( hRequest, INTERNET_OPTION_PASSWORD, (void*) pwszAuthPassword, wcslen( pwszAuthPassword ) + 1 );
HttpSendRequestW( hRequest, 0, -1, 0, 0 );
© www.soinside.com 2019 - 2024. All rights reserved.