【发布时间】:2018-09-26 19:29:39
【问题描述】:
你想使用一个 API 来登录我的应用程序,使用该 API 的方法接收 4 个参数
- 网址基础
- 钥匙
- 用户名
- 密码
主要问题是我没有收到正确答案(状态 200 OK)
我的类 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>
出于明显的原因,我省略了所有的密钥,对我有什么帮助吗??
【问题讨论】:
-
您的 POSTMAN 示例正在发送查询字符串上的所有数据,而不是正文
-
如何发送链中的数据?我以为我是这样做的! @杰森
-
@BodegaPangal 创建一个
HttpRequestMessage,将查询字符串作为URL 的一部分,并使用HttpClient.SendAsync -
您建议通过HttpRequestMessage发送参数,而不是占用PostAsync而不是SendAsync?你能推荐一个答案吗? @Nkosi
标签: json rest api xamarin xamarin.forms