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 не разрешает принимать его, когда я комментирую. 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);