我正在尝试使用HttpWebRequest获取需要用户名和密码的https URI。如果我将URI放入浏览器中,它会弹出一个对话框要求凭据,然后工作。使用HttpWebRequest会给我返回401未经授权的错误。
NetworkCredentials的文档表示不支持SSL,但我找不到应该使用什么。
我正在尝试使用HttpWebRequest获取需要用户名和密码的https URI。如果我将URI放入浏览器中,它会弹出一个对话框要求凭据,然后工作。使用HttpWebRequest会给我返回401未经授权的错误。
NetworkCredentials的文档表示不支持SSL,但我找不到应该使用什么。
服务器使用的是HTTP基本身份验证还是其他类型的验证?如果使用HTTP基本身份验证,则可以将Web请求的Credentials
属性设置为包含正确用户名和密码的凭据,并将PreAuthenticate
属性设置为true。
以下是一个示例(未经测试,仅供参考):
var uri = new Uri("https://somesite.com/something");
var request = WebRequest.Create(uri) as HttpWebRequest;
request.Credentials = new NetworkCredential("myUserName","myPassword");
request.PreAuthenticate = true;
var response = request.GetResponse();