我试图通过授权(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
答案 0 :(得分:0)
PUT请求上运行的代码是什么?很可能您正在使用的用户名/密码组合实际上没有对资源的WRITE访问权限,因此您收到了未经授权的错误。
如果您有权访问接收PUT调用的代码,请检查它要写入的文件/文件夹。如果没有,请联系拥有该服务的人,并询问他们失败的原因。