Сетевой запрос от android до проблемы трепетания - PullRequest
0 голосов
/ 29 апреля 2020
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);
...