这是我的 HomeController.cs 中的函数:
async Task<Dictionary<Object, Object>> GetSiteWithID(int ID)
{
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", "94afa9a8b0804e65a53d335dec230478f69b39c5");
HttpResponseMessage responseMessage = await client.GetAsync("http://localhost:8000/site/1");
responseMessage.EnsureSuccessStatusCode();
return await responseMessage.Content.ReadAsAsync<Dictionary<Object, Object>>();
}
}
问题是它正确地将标头发送为“授权:令牌 94afa9a8b0804e65a53d335dec230478f69b39c5”,但 Django Rest Framework 没有得到它。
我需要发送的任何其他内容,因为如果我使用 Postman 进行测试,它可以工作,但它也会发送其他我不知道是否有必要的东西。
更新:是的,我正在使用 localhost:8000 - django 中开发服务器的默认端口。之后我将转移到生产服务器。我从 django 服务器得到的响应是“未提供身份验证详细信息”。状态码 401 - 未经授权。
更新:尝试了 react 并在 Django 中实现了 CORS 白名单列表后,请求成功了!当我将 .NET 本地服务器添加到白名单时,Django 仍然说“未提供身份验证详细信息”。所以 .Net Core 2.2 中的某些东西没有发送标头!