【发布时间】:2010-07-22 10:07:09
【问题描述】:
我有一个外部站点的 url 和一个用户名和密码。 如果我通过浏览器访问 URL,则会弹出一个身份验证框。我给它用户名和密码,我就可以进入页面了。
我正在尝试使用 HttpWebRequest 对象通过代码实现同样的目的:
var webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.GetResponse() 等等……
这曾经在网站所有者为网站添加一些保护并为我提供用户名和密码之前工作。 WebRequest 有一个凭据属性,我一直设置如下:
webRequest.Credentials = new NetworkCredential("username", "password")
我也试过了:
webRequest.Credentials = new NetworkCredential("username", "password", “url domain”)
这总是会导致错误:
“远程服务器返回错误:(401) Unauthorized.”
我是否遗漏了一些明显的东西?
【问题讨论】:
-
我不知道问题出在哪里,也不知道该接受哪种解决方案。外部主机在那里改变了一些东西,这意味着我必须做一些完全不同的事情。我想删除这个。
-
我敢打赌,该 url 将转到 domain.com 并且服务器重定向到类似 domain.com/sites/home.aspx 的页面并且没有通过凭据。
标签: c# asp.net authentication