如何在c#中的HttpClient中使用凭据?我在使用HttpClient类访问DeliciousAPI时遇到一些问题。我有以下代码:使用(varhandler=newHttpClientHandler{Credentials=newNetworkCredential("MyUSER","MyPASS")}){使用(varclient=newHttpClient(handler)){varresult=awaitclient.GetStringAsync(uriSources);}}}catch(Exceptionex){MessageBox.显示(例如.Message,“错误...”,MessageBoxButton.OK);运行上面的代码时,我得到以下信息:响应状态代码不表示成功:401(未授权)。那么,我怎样才能得到这份工作呢?是否可以?在此先感谢问候!我自己也有同样的问题。看起来HttpClient只是忽略了HttpClientHandler设置的凭据。但是,以下工作:使用System.Net.Http.Headers;//对于AuthenticationHeaderValueconststringuri="https://example.com/path?params=1";使用(varclient=newHttpClient()){varbyteArray=Encoding.ASCII.GetBytes("MyUSER:MyPASS");varheader=newAuthenticationHeaderValue("Basic",Convert.ToBase64String(byteArray));client.DefaultRequestHeaders.Authorization=标头;varresult=awaitclient.GetStringAsync(uri);不需要处理程序。来源:http://www.snip2code.com/Snippet/13895/Simple-C—NET-4-5-HTTPClient-Request-Us这是一篇很老的帖子,但我认为它对那些面临类似问题的人很有用问题和浏览回答的人添加了我的回复......我有类似的问题。就我而言,为NetworkCredentials设置域属性有效。您可以尝试设置一个域名。您显示的代码适用于经过身份验证的资源。我怀疑Yummy在做一些奇怪的事情。考虑到您使用的是WindowsPhone,使用Fiddler进行调试比较麻烦,因此我建议使用Runscope帐户。安装此消息处理程序,它将通过RunScope调试器重定向您的请求。这样做之后,我建议查看www-authenticate标头并检查返回的内容。如果一切都失败了,您始终可以直接使用基本身份验证凭据设置身份验证标头。您不需要使用Credentials类。以上就是C#学习教程:C#中HttpClient中的credentials如何使用?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
