2017-09-24 45 views
0

我正在编写一个C#控制台应用程序,通过基本身份验证发送POST请求以从api获取访问令牌。我必须通过grant_type =密码&用户名= &密码=,我不知道如何通过这与邮寄请求。到目前为止,我有具有基本授权的发布请求

var response = await client.PostAsync(uri, content); 

我是否在内容中传递密码/用户名,如果是这样的话?由于

+0

这应该准备 - grant_type =密码和用户名=(encryptedusername)和密码=(encryptedpassword)。 – LeedsWalker

回答

1

你应该使用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); 
+0

感谢您的快速响应。 – LeedsWalker

+0

@LeedsWalker,它适合你吗? –

+0

我有类似的东西,很高兴我正在考虑正确的路线。由于今天无法访问服务器,我将不得不明天进行测试。谢谢你的帮助。 – LeedsWalker