首页 > 解决方案 > C# HTTP 基本身份验证问题

问题描述

这是我现在的 C# 代码。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.upcloud.com/1.2/account");
    string authInfo = "username:password";
    authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
    request.Headers.Add("Authorization", "Basic " + authInfo);
    request.ContentType = "application/json";
    request.Method = WebRequestMethods.Http.Get;
    request.AllowAutoRedirect = true;
    request.Proxy = null;
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream stream = response.GetResponseStream();
    StreamReader streamreader = new StreamReader(stream);
    string s = streamreader.ReadToEnd();
    Console.Write(s);

该代码对我来说看起来不错,但是System.Net.WebException: The underlying connection was closed在尝试获取响应时出现此异常(HttpWebResponse response = (HttpWebResponse)request.GetResponse();)。

我要做的基本上是将此处报告的python示例https://www.upcloud.com/support/getting-started-upcloud-api/ “翻译”为C#,但无论我做了多少尝试,我仍然有没有找到解决办法。提前致谢。

标签: c#httpwebrequesthttpwebresponse

解决方案


推荐阅读