ASyncTask ConnectException: соединение отказано - PullRequest
0 голосов
/ 22 апреля 2019

Я тестирую свое приложение, которое работает на Android с помощью Android Studio.но я столкнулся с проблемой "Java.net.ConnectException: Соединение отказано" с помощью HttpURLConnection.getConnection ().

Я уже пробовал это:

  • Проверьте, работает ли сервер?
  • URL-адрес доступа из браузера

Это мой класс AsyncTask:

public class MyTask extends AsyncTask<String, String, String> {

        protected  void onPostExecute(String... params){
            resValue = params[0];
        }

        @Override
        protected String doInBackground(String... params) {
            URL url;
            StringBuffer response = new StringBuffer();

            System.out.println(params[0]);
            try {
                url = new URL(params[0]);
            } catch (MalformedURLException e) {
                throw new IllegalArgumentException("invalid url");
            }

            HttpURLConnection conn = null;
            try {
                conn = (HttpURLConnection) url.openConnection();
                conn.setDoOutput(false);
                conn.setDoInput(true);
                conn.setUseCaches(false);
                conn.setRequestMethod("GET");
                conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");

                // handle the response
                int status = conn.getResponseCode();
                if (status != 200) {
                    throw new IOException("Post failed with error code " + status);
                } else {
                    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                    String inputLine;
                    while ((inputLine = in.readLine()) != null) {
                        response.append(inputLine);
                    }
                    in.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (conn != null) {
                    conn.disconnect();
                }

                String responseJSON = response.toString();
                System.out.print("This is doInBackground "+responseJSON);
                return responseJSON;
            }
        }

    }

1 Ответ

0 голосов
/ 22 апреля 2019

Опубликуйте URL, который вы используете, это может быть проблемой. Вы должны использовать 10.0.2.2 ip вместо 127.0.0.1, потому что это ip.

интерфейса обратной связи по умолчанию.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...