在 URL 参数中传递用户名和密码(Dart 和 Flutter)
Pass the username and password in URL parameters (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);
但我有一些错误
在将您的个人数据发送到服务器时,不要使用 GET 方法。
GET 方法将数据发送到服务器,然后是 URL like append with URL request which will be seen像下面这样的每个人。
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;
}
}
用于 HTTP 基本身份验证
final loginUrl = Uri(scheme: 'https', host: 'example.com', port: 8080, userInfo: 'username:password')
http.get(loginUrl)
但不推荐通过 url 传递用户名和密码,因为它不安全。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#access_using_credentials_in_the_url
所以你应该使用 post 表单数据。
我有一个 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 like append with URL request which will be seen像下面这样的每个人。
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;
}
}
用于 HTTP 基本身份验证
final loginUrl = Uri(scheme: 'https', host: 'example.com', port: 8080, userInfo: 'username:password')
http.get(loginUrl)
但不推荐通过 url 传递用户名和密码,因为它不安全。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#access_using_credentials_in_the_url
所以你应该使用 post 表单数据。