我正在调用使用Windows身份验证的webAPI Web服务。我在我的开发环境中使用此代码,因为我是从一个不在域上的框开发的。
var req = (HttpWebRequest)WebRequest.Create(url);
req.Credentials = new NetworkCredential("username", "password", "domain");
req.Method = WebRequestMethods.Http.Post; //or get
当我发帖时,这很好用,但是当我想要做到时它不起作用。
当我在网络浏览器中访问网址时,它会按预期询问我的用户名和密码。我正确输入了用户名和密码,GET正常工作。
答案 0 :(得分:2)
尝试基本身份验证,如下所示:
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);