从ASP.Net页面通过C#将NetworkCredential传递给HttpWebRequest
发布时间:2020-12-16 04:12:51 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试使用HTTPWebRequest来访问Web服务,并且在传递凭据时遇到问题,请参阅下面的代码.我可以看到在调试器中构建的凭证对象nc,以及request.Credentials的赋值,但是当我到达最后一行代码时,它会出现未经授权的错误消息.我让我们的服务器人员在服务器上查看
我正在尝试使用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(); 解决方法
NetworkCredentials要么非常直观,要么不精确,或者两者兼而有之.无论如何,您可以通过完全绕过NetworkCredentials来解决问题,并使用此方法(我发现,由mark.michaelis.net提供)
/* http://mark.michaelis.net/Blog/CallingWebServicesUsingBasicAuthentication.aspx */ byte[] credentialBuffer = new UTF8Encoding().GetBytes(username + ":" +password); req.Headers["Authorization"] ="Basic " + Convert.ToBase64String(credentialBuffer); 所以你要做的是手动为你的HttpWebRequest创建一个标题,并插入基本身份验证标题中显示的内容.奇迹般有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- iis – 禁用应用程序池的空闲超时是否有任何危害?
- asp.net – ashx处理程序DELETE请求不工作HTTP 405.0
- asp.net-mvc – asp.net mvc单选按钮状态
- asp.net-mvc – ASP.NET身份登录
- asp.net-mvc – 页面的ValidateRequest设置可以被覆盖吗?
- ASP.NET MVC和IE缓存 – 操作响应头无效
- asp.net-mvc – 有没有人能够或者至少试图将液体模板语言移
- asp.net-core – 编译netcoreapp1.0,代码包含#if!NETSTAND
- asp.net-mvc – 如何在VS2012 MVC4项目中设置Ext.NET 2.0?
- asp.net – 将更改部署到global.asax
推荐文章
站长推荐
- asp.net-mvc – SignInManager.PasswordSignInAs
- asp.net-mvc – MVC4 Action返回没有null的JsonR
- asp.net-mvc – MVC中TextBoxFor的DisplayFormat
- .net – 匹配另一条路线的路线,忽略HttpMethodCo
- 使用ASP.NET创建缩略图的最佳方法是什么?
- asp.net-mvc – 如何在ASP.NET MVC控制器工厂中处
- asp.net-mvc – ASP.NET MVC术语让我沮丧 – 为什
- 学习Asp.Net WebForms或Asp.Net MVC
- 通过经过身份验证的Webforms保护ASP.net中的Ajax
- asp.net-mvc – MVC 5,[HttpPpost]创建方法:Bin
热点阅读