【发布时间】:2009-11-05 20:33:45
【问题描述】:
我正在尝试使用 HTTPWebRequest 访问 Web 服务,但在传递凭据时遇到问题,请参见下面的代码。我可以看到在调试器中构建的凭据对象 nc,以及在 request.Credentials 的分配中,但是当我到达最后一行代码时,它会出现未经授权的错误消息。我已经让我们的服务器人员查看服务器上的请求,并且没有传递任何凭据。我对 Credentials 对象做错了什么,还是我需要做一些我没有在这里做的事情?
Uri requestUri = null;
Uri.TryCreate("https://mywebserver/webpage"),
UriKind.Absolute, out requestUri);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create
(requestUri);
NetworkCredential nc =
new NetworkCredential("user", "password");
request.Credentials = nc;
request.Method = WebRequestMethods.Http.Get;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
【问题讨论】:
-
您是否使用过 Fiddler 亲自查看您正在传递的内容?我不喜欢依赖服务器人员来评估这样的事情:)
-
JustLoren - 在您发布此评论之前,我不知道 Fiddler,我下载了它并在 Auth 选项卡下显示 No Proxy-Authorization Header is present。没有授权标头,所以我仍然认为我的代码有问题。
-
您是否有理由不生成代理类来调用内部 Web 服务?
-
是的,我调用的服务是 REST 服务,所以没有 wsdl 文件。
标签: asp.net http httpwebrequest