1

我正在调用使用 Windows 身份验证的 webAPI Web 服务。我在我的开发环境中使用这个代码,因为我是从一个不在域中的盒子开发的。

 var req = (HttpWebRequest)WebRequest.Create(url);
 req.Credentials = new NetworkCredential("username", "password", "domain");
 req.Method = WebRequestMethods.Http.Post; //or get

这在我发帖时工作得很好,但是当我想做一个 get 时它不起作用。

当我在网络浏览器中访问 get 的 url 时,它会按预期要求我的用户名和密码。我正确输入了用户名和密码,GET 工作正常。

4

1 回答 1

2

Try basic authentication as below:

string credentials = String.Format("{0}:{1}", username, password);
byte[] bytes = Encoding.ASCII.GetBytes(credentials);
string base64 = Convert.ToBase64String(bytes);
string authorization = String.Concat("Basic ", base64);
req.Headers.Add("Authorization", authorization);
于 2013-11-08T04:20:30.360 回答