1

我需要使用需要基本先发制人身份验证的 Web 服务。我有以下代码,但响应时出错 -

'远程服务器返回错误:(403) Forbidden。'

用户凭据正确。有什么想法有什么问题吗?

string url = "MYURL";
HttpWebRequest req = HttpWebRequest.Create(url) as HttpWebRequest;

string user = "USER";
string pwd = "PASSWORD";


string auth = "Basic " + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(user + ":" + pwd));
req.PreAuthenticate = true;
req.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
req.Headers.Add("Authorization", auth);
WebResponse resp = req.GetResponse();
resp.Close();

req = HttpWebRequest.Create(url) as HttpWebRequest;
req.PreAuthenticate = true;
req.Credentials = new NetworkCredential(user, pwd);
resp.Close();
4

1 回答 1

1

401是您无法通过身份验证时收到的错误代码(即不清楚您是谁)。如果你得到一个403,这意味着服务器知道你是谁,但仍然认为你不应该被允许访问。

我想您应该与向您提供凭据的人交谈并询问他。

于 2018-02-22T11:10:44.197 回答