如何使用 HttpClient 在 Web api 中传递 header 值
How to pass header values in web api using HttpClient
我是 ASP.NET 网络新手 API 2. 我正在尝试访问第三方 API,因此要首先访问它,我需要通过授权令牌在 header 和 API URL 中。我可以使用 Postman 访问数据,但无法使用 Code。
以下是我的代码,我不确定我的方向是否正确。任何帮助,将不胜感激。
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("Url");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new HttpContext.Current.Request.Headers.Add("Authorization", "Token "+ "MyToken");
var re = Request;
var headers = re.Headers;
if (headers.Contains("Token"))
{
string token = headers.GetValues("Token").First();
}
return null;
}
如果为 HttpClient
的所有请求设置默认授权 header,请使用 client.DefaultRequestHeaders.Authorization
上设置的 AuthenticationHeaderValue
就像下面的例子...
//...other code removed for brevity
var tokenType = "Token"; //Other APIs use Bearer or other auth types.
var token = "MyToken";
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, token);
//...other code removed for brevity.
使用客户端发出的任何请求都将获得授权header
Authorization Token MyToken
我是 ASP.NET 网络新手 API 2. 我正在尝试访问第三方 API,因此要首先访问它,我需要通过授权令牌在 header 和 API URL 中。我可以使用 Postman 访问数据,但无法使用 Code。
以下是我的代码,我不确定我的方向是否正确。任何帮助,将不胜感激。
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("Url");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new HttpContext.Current.Request.Headers.Add("Authorization", "Token "+ "MyToken");
var re = Request;
var headers = re.Headers;
if (headers.Contains("Token"))
{
string token = headers.GetValues("Token").First();
}
return null;
}
如果为 HttpClient
的所有请求设置默认授权 header,请使用 client.DefaultRequestHeaders.Authorization
AuthenticationHeaderValue
就像下面的例子...
//...other code removed for brevity
var tokenType = "Token"; //Other APIs use Bearer or other auth types.
var token = "MyToken";
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, token);
//...other code removed for brevity.
使用客户端发出的任何请求都将获得授权header
Authorization Token MyToken