json - 在 URL 参数中传递用户名和密码 (Dart & 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);
但我有一些错误
解决方案
将您的个人数据发送到服务器时, 请勿使用GET方法。GET方法数据将数据发送到服务器,然后是URL,如附加 URL 请求,每个人都可以看到,如下所示。
var url = Uri.parse('https://myshoppingapp.b4a.io/login/$username:$password');
这就是从GET方法中的 URL 读取您的个人数据的方式。
'https://myshoppingapp.b4a.io/login/Mehran@metra.org:abcd12345'
对于登录请求,我们应该使用POST方法。因为我们的登录数据是安全的,需要安全性。使用POST方法时,数据以捆绑的形式发送到服务器。
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;
}
}
推荐阅读
- c# - GoDaddy API - 域名单价值
- python - Python中意外的小数位数
- react-native - 将 react-native 升级到最新版本 0.61.5 后无法安装 pod
- python - 将 qcut 应用于具有用户定义的百分位值的数据框列
- java - 用 Selenium 和 2Captcha (JAVA) 解决图片验证码
- r - 在单独的表 R 中查找和计数字符串出现到新列
- javascript - fetch API 采用的第二个参数究竟是什么?
- jenkins - 集成 2 个 Jenkins 环境
- java - 为什么不使用click参数(Spring boot和vaadin)
- c# - 有没有办法在 C# 中打开 .msg 文件?