Сетевой запрос от Android для проблемы с флаттером
String b64Login = Base64.encodeToString(("loginid" + ":" + "password").getBytes(), Base64.NO_WRAP | Base64.URL_SAFE);
HttpClient mHttpClient = new DefaultHttpClient();
String APILink = "";
APILink = _apiLink + "test/User/Signin";
HttpPost mHttpPost = new HttpPost(APILink);
mHttpPost.addHeader("Accept", "application/json");
mHttpPost.addHeader("Content-Type", "application/json");
mHttpPost.addHeader("key", _DataBaseKey);
mHttpPost.addHeader("app", "6289");
mHttpPost.addHeader("Authorization", "Basic " + b64Login);
ArrayList<NameValuePair> nvArray = new ArrayList<>();
nvArray.add(new BasicNameValuePair("Browser", Build.BRAND));
nvArray.add(new BasicNameValuePair("IsMobile", "true"));
nvArray.add(new BasicNameValuePair("Platform", Build.DEVICE));
nvArray.add(new BasicNameValuePair("IPAddress", Build.ID));
nvArray.add(new BasicNameValuePair("SessionId", Build.MODEL));
try {
mHttpPost.setEntity(new UrlEncodedFormEntity(nvArray));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
У меня возникла проблема, когда я применяю почтовый запрос без списка nvArray в веб-API ApiAuthenticationFilter не позволяет принимать его, когда я комментирую ApiAuthenticationFilter, он принимает, как зашифровать URL-адрес в base64 во флаттере, где мне нужно исправить, у меня есть опыт работы с Android, теперь я столкнувшись с той же проблемой при трепете, я прикрепил выше код Android, который работает нормально, но как это сделать при трепете, пожалуйста, предложите.
String b64Login = base64.encode(utf8.encode(loginId+":"+password);
String mAPILink = Const.API_PATH + "test/User/Signin";
var queryParameters =
{"Accept" : "application/json", "Content-Type" : "application/json", "key" : apiKey, "app" : "6289", "Authorization" : "Basic " + b64Login};
Response response;
Dio dio = new Dio();
response = await dio.post(mAPILink, data: queryParameters);
print(response.statusMessage);