在 URL 参数中传递用户名和密码 (Dart & Flutter)

问题描述

我有一个 Flutter 应用程序,我正在使用 back4app.com 和 Parse RESTful api 来注册我的用户,我已经阅读了他们关于登录用户的文档,但我不知道如何在 URL 参数中将我的用户名和密码作为 JSON 传递编码:

我试过这个方法

Future <void>loginMethod(String username,String password) async {

var url = Uri.parse('https://myshoppingapp.b4a.io/login/$username:$password');


final response = await  http.get(url,headers: {
          'X-Parse-Application-Id': kParseApplicationId,'X-Parse-REST-API-Key': kParseRestApiKey,'Content-Type': 'application/json'
          
          
          },);


final exData = jsonDecode(response.body);

print(exData);

我有一些错误

解决方法

请记住一件事,不要在如下所示的 URL 参数中发送您的个人数据

var url = Uri.parse('https://myshoppingapp.b4a.io/login/$username:$password');

您的函数可能会喜欢这个。

 Future loginMethod(String username,String password) async {
       var res = await http.post(Uri.parse('https://myshoppingapp.b4a.io/login/'),body: {"username": username,"password": password});
        print('res : ${res.body}');
       
        
if (res.statusCode == 200){ final exData = jsonDecode(res.body);
    
    print(exData);
return res.body;
} else{
final exData = jsonDecode(res.body);
    
    print(exData);
return res.statusCode;
}
        
   }

当数据在数据库中可用时,状态码将是 200,那么当状态码不是 200 时,您应该得到响应,表示服务器出现问题,然后得到服务器状态码。