C# C中的错误401#
我正在为Windows 8开发第一个应用程序,但我遇到了一个问题,当我启动应用程序时,出现了错误“响应状态代码不表示成功: 401(需要授权) 因此,是的,我需要包括用户名和密码,但我不知道代码中的位置:C# C中的错误401#,c#,.net,exception-handling,http-status-code-401,c#-5.0,C#,.net,Exception Handling,Http Status Code 401,C# 5.0,我正在为Windows 8开发第一个应用程序,但我遇到了一个问题,当我启动应用程序时,出现了错误“响应状态代码不表示成功: 401(需要授权) 因此,是的,我需要包括用户名和密码,但我不知道代码中的位置: var fond = new HttpClient(); var reponse = await fond.GetStreamAsync("http://example.com/search/mario%20kart" + TitleNewsGrid.Text); 那么在代码中包含用
var fond = new HttpClient();
var reponse = await fond.GetStreamAsync("http://example.com/search/mario%20kart" + TitleNewsGrid.Text);
那么在代码中包含用户名和密码在哪里?试试这个
client.TransportSettings.Credentials = new System.Net.NetworkCredential("username", "password");
更多信息
在
传输设置中应该有凭证属性,例如
using (var client = new HttpClient())
{
client.TransportSettings.Credentials = new System.Net.NetworkCredential("username", "pwd");
...
}
如果您无权访问TransportSettings
属性,则需要使用HttpClientHandler
。复制代码没有意义,已经有一个很好的例子。检查这里,这似乎是一个与web服务器授权相关的问题!@iSamnium OP了解错误是什么,他们正在询问如何处理将凭据传递给服务器,而不是状态代码所表示的内容。请注意using语句的使用,这会导致客户端在离开作用域时自动释放。嘿:)感谢您的帮助。目前我使用的是:System.Net.Http.HttpClient found=new HttpClient();但是TransportSettings不使用System.Net.Http.HttpClient…所以我有点想念^^^@GuillaumeFortunier您找到了TransportSettings
属性吗?私有异步void premieretest(){using(var handler=new HttpClientHandler()){handler.Credentials=new System.Net.NetworkCredential(“appender”,“e32!cdf”);使用(var-client=new-HttpClient(handler){}{System.Net.Http.HttpClient-found=new-HttpClient();var-response=wait-found.GetStreamAsync(““+TitleNewsGrid.Text);但是在Fond.getstreamasync处阻塞听起来您的代码可能遇到了死锁。请尝试提供的解决方案,我建议您也阅读发布的答案。