我正在尝试从此api codaBox获取数据 我已经用swagger测试过 但是当我尝试使用c#时,收到的错误代码是401。我使用的是正确的标题,用户名和密码。
我使用具有相同凭据的swagger进行了测试,并获得了数据。
try
{
var byteArray = Encoding.ASCII.GetBytes("Username:password");
Client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
Client.BaseAddress = new Uri("https://myurl");
Client.DefaultRequestHeaders.Add("X-Software-Company", "myToken");
HttpResponseMessage response = await Client.GetAsync("");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
// Above three lines can be replaced with new helper method below
// string responseBody = await client.GetStringAsync(uri);
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ", e.Message);
}
我想获得200个状态代码。
答案 0 :(得分:0)
您需要将"Username:password"
替换为实际用户名和密码,并用"{your actual username}:{your actual password}"
Web也是UTF8(Ascii有时因为它是子集而起作用),但并不总是这样:
var byteArray = Encoding.UTF8.GetBytes("Username:password");