您要使用API来登录我的应用程序,使用该API的方法会收到4个参数
主要问题是我没有收到正确的答案(状态200正常)
我的类LoginResponse的结构很好,参数通过简单的形式传递,但是当我反序列化对象时,我得到下一个输出
但是当我使用POSTMAN传递相同的参数时,这会成功回答我。
我真的不明白我在做什么错,可以将其错误地连接吗?我缺少代码吗?
public async Task<LoginResponse> GetToken(
string urlAPILogin,
string KeyLogin,
string Rut,
string Password)
{
try
{
var client = new HttpClient();
client.BaseAddress = new Uri(urlAPILogin);
var response = await client.PostAsync("login", new StringContent(string.Format("/?k=" + KeyLogin + "&rut=" + Rut + "&password=" + Password) ,
Encoding.UTF8));
var resultJSON = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<LoginResponse>(
resultJSON);
return result;
}
catch
{
return null;
}
}
我的资源字典包含
<x:String x:Key="URLAPI">http://159.89.47.120</x:String>
<x:String:Key="KEY">afruo60kp5DXF7weN**********ObGS0TyIksfEppLPeGjl9hQHoja1LIfWp8YCTiA0GrZWodD2rPOe5DX8G9Yp3b</x:String>
出于明显的原因,我已经省略了所有密钥,对我有帮助吗?
答案 0 :(得分:1)
使用查询字符串作为构造的URL的一部分创建一个HttpRequestMessage
,并使用HttpClient.SendAsync
//...
var uri = "login?k=" + KeyLogin + "&rut=" + Rut + "&password=" + Password;
var request = new HttpRequestMessage(HttpMethod.Post, uri);
var response = await client.SendAsync(request);
//...
现在,有更好的方法可以安全地构造URL,但这只是作为如何发送请求的简单示例。您可以轻松地在该站点上搜索其他构造URL的方法。