[英]how to use request.AddParameter(restsharp) in HttpClient
我有这个代码并且工作
string userName = "username";
string password = "password";
string clientSecret = "clientSecretCode";
var client = new RestClient("url");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("undefined",
$"grant_type=password&username={userName}&password={password}&client_id=mmp-web-api&client_secret={clientSecret}&scope=openid%20mmp-webpanel",
ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var result = JsonConvert.DeserializeObject<TokenOutputDto>(response.Content);
TokenOutputDto 是:
public class TokenOutputDto
{
public string access_token { get; set; }
}
我如何将此代码转换为 httpclient(在没有 RestSharp 的情况下运行)
string userName = "username";
string password = "password";
string clientSecret = "clientSecretCode";
HttpClient httpClient = new HttpClient();
Uri requestUri = new Uri("Your Complete URL");
httpClient.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));//ACCEPT header
// Parameter
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("undefined", $"grant_type=password&username={userName}&password={password}&client_id=mmp-web-api&client_secret={clientSecret}&scope=openid%20mmp-webpanel")
});
var response = httpClient.PostAsync(requestUri.ToString(), content).Result;
var token = response.Content.ReadAsStringAsync().Result;
var result = JsonConvert.DeserializeObject<TokenOutputDto>(token);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.