Android ECONNREFUSED (в соединении отказано)

Я попытался отправить данные на сервер с помощью этого кода из моего приложения для Android.

try {
    HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("http://myip/adminlogin.php");
    httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    HttpResponse response = httpClient.execute(httpPost);

    HttpEntity entity = response.getEntity();

    is = entity.getContent();

    BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);
    StringBuilder sb = new StringBuilder();

    String line = null;
    while ((line = reader.readLine()) != null)
    {
        sb.append(line + "\n");
    }
    result = sb.toString();
} catch (ClientProtocolException e) {
    e.printStackTrace();
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
return result;

Я получил следующее сообщение об ошибке при попытке войти в систему с парой имени пользователя и пароля.

[сокет][0] соединение /myip:80;LocalPort=33049(0) закрыть [сокет][/0.0.0.0:33049] W/System.err: org.apache.http.conn.HttpHostConnectException: подключение к http://myip отклонено Причина: java.net.ConnectException: не удалось подключиться к /myip (порт 80) после 90000 мс: ошибка isConnected : ECONNREFUSED (в соединении отказано)

myip доступен через веб-браузер, поэтому я думаю, что порт 80 в порядке. Путь к файлу тоже в порядке. Я проверил базу данных, и она работает правильно. Я установил необходимые разрешения в файле манифеста.


person appkovacs    schedule 13.11.2016    source источник
comment
Сообщение означает: по данному ip-адресу нет сервера.   -  person Christine    schedule 13.11.2016
comment
@Christine: Есть, потому что я снова проверил ссылку, которая вставлена ​​в приложение.   -  person appkovacs    schedule 13.11.2016
comment
Для меня это подозрительно похоже на проблему с тайм-аутом - см. Компонент сообщения об ошибке после 90000 мс. Когда вы говорите, что myip доступен через веб-браузер, вы имеете в виду веб-браузер на устройстве, на котором вы запускаете приложение?   -  person clownba0t    schedule 13.11.2016
comment
используйте devtools и GET u, упомянутые в браузере, для отображения заголовков, используемых браузером... вернитесь к POST и используйте те же заголовки, которые вы сбросили в browser.devTools...   -  person Robert Rowntree    schedule 13.11.2016
comment
myip is accessible via web browser. Вы должны были использовать веб-браузер на своем устройстве Android. Вы?   -  person greenapps    schedule 14.11.2016
comment
Ваш телефон находится в той же сети, что и компьютер, к которому вы подключаетесь с помощью IP-номера? Сервер находится в общедоступном Интернете? Я получаю эту ошибку, когда забываю подключить свой телефон к локальной сети Wi-Fi, и он хочет подключиться к серверу в моей локальной сети.   -  person Christine    schedule 14.11.2016
comment
@Christine: Спасибо, это была проблема и моя вина. Еще раз спасибо за помощь!   -  person appkovacs    schedule 14.11.2016
comment
@Christine: Извините, я пытался загрузить несколько страниц, но да, это была проблема с сетью.   -  person appkovacs    schedule 14.11.2016


Ответы (2)


Ваш телефон находится в той же сети, что и компьютер, к которому вы подключаетесь с помощью IP-номера? Сервер находится в общедоступном Интернете? Я получаю эту ошибку, когда забываю подключить свой телефон к локальной сети Wi-Fi, и он хочет подключиться к серверу в моей локальной сети.

person Christine    schedule 14.11.2016

Добавление к ответу Кристины:

У меня была аналогичная ситуация. Я пытался подключиться к другому устройству Android через его точку доступа. Несмотря на то, что они были подключены к одной и той же сети, я столкнулся с проблемой «сбой подключения: ECONNREFUSED (отказ в подключении)».

Потратив на это пару дней, я понял, что мое клиентское устройство также было подключено к мобильному Интернету. Это означает, что мои мобильные данные были ВКЛЮЧЕНЫ.

Я выключил его OFF и Виола!

Убедитесь, что вы не подключены к другим сетям.

Опубликовал это на случай, если это может кому-нибудь помочь.

person Jishad    schedule 04.03.2017
comment
Я также сталкиваюсь с той же проблемой, когда отключение мобильных данных решает проблему. Но мне нужно знать, есть ли исправление даже при включенных мобильных данных. Какие-либо предложения? - person Joshua; 19.02.2021