我在经过Windows身份验证的网页中工作,需要使用WebClient将这些凭据传递给API(也是经过Windows身份验证的)调用。我遇到的问题是,对API的调用失败了,因为WebClient没有传递凭据。
研究显示,WebClient会在没有凭据的情况下发出的初始请求,以查看它是否可以在没有它们的情况下访问该页面。然后,如果页面以401响应,它将依次发送第二个请求 凭证。
我发现大量示例只是通过重新构建凭据将身份验证标头注入WebClient,但是我不能这样做。我需要使用页面的当前默认凭据(登录用户),我无权访问他们的密码,因此无法重新构建新请求的凭据。
有没有办法强制WebClient在第一个请求上发送凭据,或者是另一种联系API的方法,以便适当地发送这些凭据?