没有提供带有身份验证凭据的c#调用Webapi,但Postman工作正常

没有提供带有身份验证凭据的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

我运行上面的c#脚本,结果如下。
{“详细信息”:“未提供身份验证凭据。”}


然而,我通过邮递员使用相同的令牌呼叫,如果它是一个承载令牌,那么下面几行就可以了

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);