Получение данных из localhost выбрасывает «Ошибка отказа соединения» [дубликат]

Я сделал это некоторое время назад, используя смесь __defineGetter__ и __defineSetter__ или defineProperty в зависимости от версии JS.

Вот функция генерации перечисления, которую я сделал: https : //gist.github.com/gfarrell/6716853

Вы использовали бы это так:

var Colours = Enum('RED', 'GREEN', 'BLUE');

И он создал бы неизменяемую строку: int словарь (enum).

147
задан Akhil Jain 7 December 2012 в 15:46
поделиться

15 ответов

Однако существует гораздо лучшее решение. Вы можете получить доступ к своей главной машине с IP-адресом «10.0.2.2».

Это было разработано командой Android. Таким образом, ваш веб-сервер может отлично работать на локальном хосте, а с вашего приложения Android вы можете получить доступ к нему через «http://10.0.2.2:<hostport>».

297
ответ дан Ajoy 25 August 2018 в 12:08
поделиться

вам нужно установить URL как 10.0.2.2:portNr

portNr = данного порта ASP.NET Development Server, моя текущая служба работает на localhost:3229/Service.svc

, поэтому мой url 10.0.2.2:3229

Я исправил свою проблему таким образом

Надеюсь, это поможет ...

7
ответ дан Akhil Jain 25 August 2018 в 12:08
поделиться

1) Запустите команду ipconfig в cmd

2) Вы получите результат, подобный этому

3) Затем используйте адрес IPv4 сетевого адаптера VMWare 1 за которым следует номер порта

В My Case 8080, поэтому вместо использования localhost: 8080

Я использую 192.168.56.1:8080

Выполнено .....

0
ответ дан Ameya Salagre 25 August 2018 в 12:08
поделиться

Проблема в том, что эмулятор Android отображает 10.0.2.2 на 127.0.0.1, а не на localhost. Поэтому настройте свой веб-сервер на serveron 127.0.0.1:54722, а не на localhost:54722. Это должно сделать это.

5
ответ дан Cobus Kruger 25 August 2018 в 12:08
поделиться

Я хотел бы показать вам, как я обращаюсь к IISExpress Web API из моего Android-эмулятора. Я использую Visual Studio 2015. И я вызываю Android-эмулятор из Android Studio.

Все, что мне нужно сделать, это добавить следующую строку в конфигурацию привязки в моем приложенииhost.config file

<binding protocol="http" bindingInformation="*:<your-port>:" />

Затем я проверяю и использую адрес IP4 для доступа к моему API из эмулятора Android

Требование: вы должны запустить Visual Studio как Администратор. Этот пост дает отличный способ сделать это.

Для получения дополнительной информации посетите мой пост на github

Надеюсь, что это помогает.

12
ответ дан Community 25 August 2018 в 12:08
поделиться

Я решил решить проблему, когда уровень сервиса использует Visual Studio IIS Express. Просто укажите, что 10.0.2.2:port не будет работать. Вместо того, чтобы возиться с IIS Express, как упоминалось в других сообщениях, я просто поставил прокси-сервер перед IIS Express. Например, apache или nginx. Nginx.conf будет выглядеть как

 # Mobile API
 server { 
    listen       8090;
    server_name  default_server;

    location / {
        proxy_pass http://localhost:54722;
    }
  }

. Затем андроид должен указывать на мой IP-адрес, как 192.168.x.x: 8090

0
ответ дан Denis Wang 25 August 2018 в 12:08
поделиться

Я столкнулся с той же проблемой в Visual Studio, выполняющей веб-приложение в IIS Express. Чтобы исправить это, вам нужно перейти к свойствам проекта, а затем нажать вкладку «Отладка» и изменить http: // localhost: [YOUR PORT] на http://127.0.0.1: [YOUR PORT] и установите URL-адрес андроида http://10.0.2.2: [ВАШ PORT]. это сработало для меня.

5
ответ дан Ehsan Zargar Ershadi 25 August 2018 в 12:08
поделиться

, если вы используете какой-либо сторонний пакет, например node express или angular-cli, вам нужно будет найти IP-адрес вашего компьютера и присоединить свой хост к этому IP-адресу в конфигурации запуска сервера (вместо localhost). Затем запустите его из эмулятора, используя IP. Например, мне пришлось использовать: ng serve -H 10.149.212.104 для использования углового кли. Затем из эмулятора я использовал: http://10.149.212.104:4200

0
ответ дан Helzgate 25 August 2018 в 12:08
поделиться

Плохой запрос обычно означает, что формат отправляемых данных неверен. Может быть несоответствие данных. Если вы получаете плохой запрос, вы можете подключиться к серверу, но запрос не отправляется должным образом.

0
ответ дан karthik 25 August 2018 в 12:08
поделиться

Укажите IP-адрес вашей системы, имеющей интернет в URL-адресе. например: 190.168.1.90 это работает для меня

-3
ответ дан Nikhil Desale 25 August 2018 в 12:08
поделиться

Для пользователей Laravel Homestead: Если кто-либо использует Laravel с усадьбой, вы можете получить доступ к бэкэнду приложения с использованием 192.168.10.10 в эмуляторе

Все еще не работает? Другим хорошим решением является использование ngrok https://ngrok.com/

1
ответ дан Nomi 25 August 2018 в 12:08
поделиться

Я решил это с установкой «Конвейер по Keyoti» в Visual Studio Professional 2015. Конвейер создает REMOTE-адрес (ваш IP) с портом (45455), который разрешает внешний запрос. Пример:

Конвейер позволяет тестировать веб-приложения с внешних планшетов и телефонов в вашей сети или с эмуляторов Android (без http://10.0.2.2:<hostport>)

Шаги находятся в следующей ссылке:

https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti

8
ответ дан Ronny Morán 25 August 2018 в 12:08
поделиться

Если кто-то все еще ищет это, вот как это сработало для меня.

Вам нужно найти IP-адрес вашей машины в отношении подключенного устройства / эмулятора. Для эмуляторов на пути: нижеследующие шаги;

  1. Перейти к виртуальному виртуальному ящику виртуальной машины -> выбрать подключенное устройство в списке.
  2. Выберите «Настройки» -> «Сеть»> «Определите, к какой сети подключено устройство. Для меня это был «VirtualBox Host-Only Ethernet Adapter № 2».
  3. В виртуальном боксе перейдите в раздел «Файлы-> Настройки-> Сеть-> Сети только для хостинга и найдите IPv4 для сети, указанной в выше уровень. (Посредством Hovering вы получите информацию)

Предоставьте этому IP-адресу доступ к локальному хосту из эмулятора. Порт такой же, как и при запуске / публикации ваших сервисов.

Примечание # 1: Убедитесь, что вы позаботились о брандмауэрах и правилах входа.

Примечание # 2: Пожалуйста, проверьте этот IP-адрес после перезагрузки компьютера. По какой-то причине даже если я предоставил «Использовать следующий IP-адрес», IP-адрес «Только для хоста» был изменен.

0
ответ дан skillworks 25 August 2018 в 12:08
поделиться

localhost, похоже, отлично работает в моем эмуляторе при запуске, а затем я начал получать отказ от отказа в подключении. Я использовал 127.0.2.2 из браузера эмулятора, и он работал, и когда я использовал это в своем приложении для Android в эмуляторе, он снова начал показывать соединение отказалось от проблемы.

, тогда я сделал ifconfig, и я использовал ip 192.168.2.2, и он отлично работал

0
ответ дан user2368055 25 August 2018 в 12:08
поделиться

Используйте 10.0.2.2 для AVD по умолчанию и 10.0.3.2 для Genymotion

43
ответ дан Vinod Joshi 25 August 2018 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: