4

用于InternetSetOption设置usernamepassword连接到REST服务时。我注意到,即使我先调用了 InternetSetOption WinInet,我也不会在调用时发送 Authorization 标头。HttpSentRequest您必须首先从服务器获得带有 WWW-Authenication 标头的响应,这似乎很荒谬。这会在每个请求上向服务器创建一个完整的额外请求。

是否在第一次WinInet调用时强制使用 Authorization 标头,还是我必须手动添加它?

4

1 回答 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 );
于 2019-04-02T13:51:24.053 回答