【发布时间】:2018-04-13 14:09:02
【问题描述】:
当我尝试使用下面的地址和授权值发出GET 请求时,我没有问题。
地址:http://example.com/xyz.svc/branches/?latitude=0&longitude=0&range=20000
标题键:授权
值:示例;foo
当我尝试使用 HttpCLient 时,我得到授权标头值的格式无效错误
我就是这样尝试的
HttpClient client = new HttpClient();
string latitude = "0";
string longitude = "0";
string range = "2000";
string uri = "/xyz.svc/branches/?latitude=0&longitude=0&range=20000;
string value = "foo";
client.BaseAddress = new Uri("http://example.com");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("Authorization", String.Format("example;{0}", value));
HttpResponseMessage response = await client.GetAsync(uri);
var responseJson = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseJson);
我做错了什么?
【问题讨论】:
-
如果您提供这样的授权会发生什么?我就是这样做的:
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("example;foo"))); -
它的
:不是;顺便说一句。 -
@Alex K,如果您指的是授权值,它是;就我而言。它在一个字符串中
标签: c# authorization dotnet-httpclient