没有提供带有身份验证凭据的c#调用Webapi,但Postman工作正常
我运行上面的c#脚本,结果如下。没有提供带有身份验证凭据的c#调用Webapi,但Postman工作正常,c#,authentication,http-headers,postman,webapi,C#,Authentication,Http Headers,Postman,Webapi,我运行上面的c#脚本,结果如下。 {“详细信息”:“未提供身份验证凭据。”} 然而,我通过邮递员使用相同的令牌呼叫,如果它是一个承载令牌,那么下面几行就可以了 using (WebClient wc = new WebClient()) { wc.Headers.Add("Content-Type", "application/json"); wc.Headers.Add("Authorizatio
{“详细信息”:“未提供身份验证凭据。”}
然而,我通过邮递员使用相同的令牌呼叫,如果它是一个承载令牌,那么下面几行就可以了
using (WebClient wc = new WebClient())
{
wc.Headers.Add("Content-Type", "application/json");
wc.Headers.Add("Authorization", "Token 12345678");
wc.Encoding = Encoding.UTF8;
var jsonRespStr = wc.DownloadString("https://example.com/api/xxx");
}
您可以尝试使用“GetStringAsync”而不是“GetAsync”。最后,我在这篇文章中找到了答案,问题是由于重定向
HttpClient _httpClient;
string tokenString = "fa114107311259f5f33e70a5d85derestve***dse--";
_httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", tokenString);
string requestUri = "https://example.com/api/xxx";
HttpResponseMessage httpResponse = await httpClient.GetAsync(requestUri);