我正在编写一个C#控制台应用程序,通过基本身份验证发送POST请求以从api获取访问令牌。我必须通过grant_type =密码&用户名= &密码=,我不知道如何通过这与邮寄请求。到目前为止,我有具有基本授权的发布请求
var response = await client.PostAsync(uri, content);
我是否在内容中传递密码/用户名,如果是这样的话?由于
我正在编写一个C#控制台应用程序,通过基本身份验证发送POST请求以从api获取访问令牌。我必须通过grant_type =密码&用户名= &密码=,我不知道如何通过这与邮寄请求。到目前为止,我有具有基本授权的发布请求
var response = await client.PostAsync(uri, content);
我是否在内容中传递密码/用户名,如果是这样的话?由于
你应该使用FormUrlEncodedContent
:
var parameters = new List<KeyValuePair<string, string>>();
parameters.Add(new KeyValuePair<string, string>("grant_type", "password"));
parameters.Add(new KeyValuePair<string, string>("username", "your_username"));
parameters.Add(new KeyValuePair<string, string>("password", "your_password"));
var request = new HttpRequestMessage(HttpMethod.Post, uri)
{
Content = new FormUrlEncodedContent(parameters)
};
var response = await client.SendAsync(request);
感谢您的快速响应。 – LeedsWalker
@LeedsWalker,它适合你吗? –
我有类似的东西,很高兴我正在考虑正确的路线。由于今天无法访问服务器,我将不得不明天进行测试。谢谢你的帮助。 – LeedsWalker
这应该准备 - grant_type =密码和用户名=(encryptedusername)和密码=(encryptedpassword)。 – LeedsWalker