0

我正在尝试使用授权(NTLM / BASIC)发出 GET/Post 请求。代码适用于所有 GET 请求,但对于任何 POST 请求都会获得 401 未授权。

我的代码:

NetworkCredential credential = new NetworkCredential(user, password);
var myCache = new CredentialCache
{
    { uri, auth, credential } // auth = "BASIC" or "NTLM"
};

var handler = new HttpClientHandler
{
    AllowAutoRedirect = true,
    PreAuthenticate = true,
    Credentials = myCache
};
HttpClient httpClient = new HttpClient(handler);
...
StringContent content = new StringContent(bodyText);
httpClient.PostAsync(uri, content).Result; // returns 401
4

1 回答 1

0

在 PUT 请求上运行的代码是什么?您使用的用户名/密码组合可能实际上没有对资源的 WRITE 访问权限,因此您收到未经授权的错误。

如果您有权访问接收 PUT 调用的代码,请检查它尝试写入的文件/文件夹。如果没有,请联系拥有该服务的人并询问他们为什么会失败。

于 2017-11-29T12:41:44.703 回答