我有问题。我想从我的API中的Header获取访问令牌。我使用下面的代码访问我的服务。我正在使用C#和HttpClient。
static async Task Login()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://api.xxxxxx.com/auth/");
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("email", "xxx@localhost.com"),
new KeyValuePair<string, string>("password", "hello123")
});
var result = await client.PostAsync("sign_in", content);
string resultContent = await result.Content.ReadAsStringAsync();
Console.WriteLine(resultContent);
}
}
但是,我无法从标题中获取访问令牌,这里有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
您需要访问HttpContent.Headers集合。
var result = await client.PostAsync("sign_in", content);
var token = result.Headers.GetValues("access-token").FirstOrDefault();