当连接到InternetSetOption
服务时,使用username
设置password
和REST
。我注意到,即使我先调用了InternetSetOption,WinInet
也不会在调用HttpSentRequest
时发送Authorization标头。看起来很荒谬,你必须首先从WWW-Authenication标头获得服务器的响应。这会在每次请求时向服务器创建一个完整的额外请求。
是否有WinInet
调用强制第一次调用的Authorization标头或我是否必须手动添加它?
在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 );