gpt4 book ai didi

c# - 无法使用 http 客户端获取 asp.net Web API token

转载 作者:太空狗 更新时间:2023-10-29 23:58:56 24 4
gpt4 key购买 nike

我正在尝试使用 http 客户端调用 Web API 以获取 token 。我有一个 MVC 应用程序和一个 Web API 应用程序。下面是我拥有的 MVC Controller 操作。

[HttpPost]
public ActionResult Login()
{
LoginModel m = new LoginModel();
m.grant_type = "password";
m.username = "xxx";
m.password = "xxx1234";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:51540/");
var response = client.PostAsJsonAsync("Token", m).Result;
response.EnsureSuccessStatusCode();
return View();
}

但是当我发出请求时,API 响应为 BAD 请求。我尝试将内容类型添加为“application/json”,并使用 fiddler 确认请求的类型为 json。

我可以使用 Web API 注册用户,所以在 WebAPI 方面我觉得一切正常,我正在使用 VS2013 使用个人帐户创建的默认项目,并且没有在 API 方面修改任何东西。

我正在学习本教程 http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api并尝试使用 HTTP Client 而不是 fiddler。

如果有人帮助我,我将不胜感激

最佳答案

TokenEndpointRequest 好像还不支持JSON,不过你可以用query string

var response = client.PostAsync("Token", new StringContent("grant_type=password&username=xxx&password=xxx1234", Encoding.UTF8)).Result;

关于c# - 无法使用 http 客户端获取 asp.net Web API token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19975230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com