HttpWebRequest请求中如何进行域登录
工作中遇到的请求在不同域中的地址时,请求无法成功的问题
查了很多资料,基本上都是说的以下两点
(1).HttpWebRequest request = new HttpWebRequest();
request.UserDefaultCredentials = true;//默认使用登录的凭据
(2).
request.Credentials = new NetworkCredential("username","password");
username,password 为域登录的账号
上述两种均未能解决问题。
后来发现NetworkCredential的构造函数具有5个重载
一、public NetworkCredential();
// 用指定的用户名和密码初始化 System.Net.NetworkCredential 类的新实例。
二、public NetworkCredential(string userName, SecureString password);
// 用指定的用户名和密码初始化 System.Net.NetworkCredential 类的新实例。
三、public NetworkCredential(string userName, string password);
// 用指定的用户名、密码和域初始化 System.Net.NetworkCredential 类的新实例。
四、public NetworkCredential(string userName, SecureString password, string domain);
// 用指定的用户名、密码和域初始化 System.Net.NetworkCredential 类的新实例。
五、public NetworkCredential(string userName, string password, string domain);
因为未使用加密方法,第5个重载中有参数domain,即为登录的域名,使用,问题解决。
request.Credentials = new NetworkCredential("username","password","domain");