求助:C# HTTP身份验证返回401 unauthorized

sjzthinkpad 2008-12-27 06:51:49
我用c#写的windows 程序实现http请求获取服务器端页面,其中服务器端需身份验证,用的是NetworkCredentials的一个实例来完成身份验证,但是调试时仍返回401unauthorized,位置在using (HttpWebResponse response = request.GetResponse() as HttpWebResponse),请大侠指点,多谢!

代码如下:

// Create the web request
HttpWebRequest request
= WebRequest.Create("http://xxx") as HttpWebRequest;

// Add authentication to request
request.Credentials = new NetworkCredential("username", "password");

// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());

// Console application output
Console.WriteLine(reader.ReadToEnd());
}

...全文
1003 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangping_li 2008-12-28
  • 打赏
  • 举报
回复
// Create the web request
HttpWebRequest request
= WebRequest.Create("http://xxx") as HttpWebRequest;

request.Method = "GET ";
// Add authentication to request
request.Credentials = new NetworkCredential("username", "password");

// Get response
using (WebResponse response = request.GetResponse())
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());

// Console application output
Console.WriteLine(reader.ReadToEnd());
}
如果不是IIS可以改成上面这样试试
wangping_li 2008-12-28
  • 打赏
  • 举报
回复
如果你用的IIS,查查你Internet信息服务里查查XSD这个虚拟目录,如果没有选中属性-> 目录安全性-> “允许匿名访问”,如果没有的话,就是报这个错。
xsnakek 2008-12-28
  • 打赏
  • 举报
回复
先检查一下服务器,看看能否直接访问。
调试OK后,在44代码。。。
lextm 2008-12-28
  • 打赏
  • 举报
回复
NetworkCredential是Basic验证吧,你应该多了解服务器那边设置的什么验证类型。
anncesky 2008-12-27
  • 打赏
  • 举报
回复
你这代码问题多多

有可能是登陆不成功,或是登陆验证不成功就是没给sessionid,或者是。。。。其它的
饺子87 2008-12-27
  • 打赏
  • 举报
回复
虚心学习

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧