1

我想使用BITS在客户端和自定义服务器之间传输一些文件。服务器托管在带有 ASP.NET Web api 控制器的 IIS 中。我正在尝试将凭据发送到服务器以仅授权从我的客户端下载,但我无法通过 c# 在服务器上恢复这些凭据。我在请求的标头或任何地方都找不到它(感谢 WireShark,我试图对其进行分析)。

这是我用来在客户端上创建 BITS 作业的命令行。

bitsadmin /Create "testCredentials2"
bitsadmin /AddFile "testCredentials2" "http://10.0.0.146/df/api/docs/downloaddummy" "D:\temp\fileoverBits"
bitsadmin /SetCredentials "testCredentials2" SERVER BASIC "login" "password"
bitsadmin /Resume "testCredentials2"

编辑

有人在我询问后立即帮助我找到了答案。我的 api 应该首先发回要求身份验证的响应。它是这样完成的

var response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
response.Headers.Add("WWW-Authenticate", "Basic realm=\"localhost\"");
return response;
4

0 回答 0