Android-приложение не будет звонить на localhost на другом порту [duplicate]

Django's urls.py не анализирует строки запроса, поэтому нет способа получить эту информацию в файле urls.py.

Вместо этого проанализируйте его в своем представлении:

def foo(request):
   code = request.GET.get('code')
   if code:
      # do stuff
   else:
      # No code!
354
задан Andrii Abramov 5 June 2017 в 11:19
поделиться

10 ответов

в соответствии с документацией:

10.0.2.2 - Специальный псевдоним для вашего интерфейса loopback (т. е. 127.0.0.1 на вашей машине разработки)

проверьте Сеть эмулятора для получения дополнительных трюков в сети эмулятора.

624
ответ дан Paul Butcher 15 August 2018 в 21:14
поделиться
  • 1
    зачем ссылаться на другой вопрос? просто добавьте ссылку Android emulator Networking – Marvin Emil Brach 23 July 2012 в 12:36
  • 2
    Спасибо, что указали ссылку. Думаю, этого не было, когда был отправлен ответ. – primpap 24 July 2012 в 15:48
  • 3
    Очень спасибо, я потратил много времени, чтобы найти разрешение !!!!!!!!!!!! – Ashraf Sayied-Ahmad 9 September 2012 в 09:56
  • 4
    @primpap: Можно ли использовать имя машины вместо ip-адреса? – KJEjava48 17 June 2015 в 10:17
  • 5
    @primpap это не работает с Mobile отладки. Есть ли другие? Или я ошибаюсь, потому что 10.0.2.2 работает над эмулятором, но не работает, когда я подключаю мобильный для отладки usb. ? – Jawad Zeb 23 June 2015 в 12:55
626
ответ дан Paul Butcher 5 September 2018 в 20:46
поделиться

Попробуйте http://10.0.2.2:8080/, где 8080 - номер вашего порта. Он отлично работал. Если вы просто попробуете 10.0.2.2, это не сработает. Вам нужно добавить к нему номер порта. Также, если Microsoft IIS был установлен, попробуйте отключить эту функцию с панели управления (при использовании любых окон os), а затем попытайтесь как указано выше.

12
ответ дан Danger14 15 August 2018 в 21:14
поделиться
  • 1
    Что делать, если страницы размещены в IIS? – maracuja-juice 9 June 2017 в 12:17
  • 2
    @Marimba просто выясняет, на каком порте работает ваш сервер IIS, а затем 10.0.2.2:your_iis_port – StoneLam 24 July 2017 в 06:06
  • 3
    это завершенная строка, и она работает только на моем эмуляторе android 8.1 – CodeToLife 15 May 2018 в 19:58

Для устройства Mac Lion для Mac OS:

http: // 10.0.2.2:8888

Работает идеально!

3
ответ дан Guest 15 August 2018 в 21:14
поделиться

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

133
ответ дан Hi I'm Frogatto 15 August 2018 в 21:14
поделиться

Мне нужно было выяснить IP-адрес хоста системы для эмулятора «Nox App Player». Вот как я понял, что это 172.17.100.2.

  1. Установил эмулятор терминала Android из магазина приложений
  2. Issue ip link show для отображения всех сетевых интерфейсов. Особый интерес представлял интерфейс eth1 interface
  3. Issue ifconfig eth1, показывающий net как 172.17.100.15/255.255.255.0
  4. Начните пинговые адреса, начиная с 172.17.100.1, получили удар по `172.17.100.2 ». Не уверен, что брандмауэр будет вмешиваться, но это не в моем случае

Возможно, это может помочь кому-то понять его для других эмуляторов.

0
ответ дан Hugh Jeffner 15 August 2018 в 21:14
поделиться

Я не знаю, может быть, эта тема уже решена, но когда я пробовал недавно сделать это на Windows-машине, я столкнулся с множеством трудностей. Поэтому мое решение было очень простым. Я загрузил этот soft http://www.lenzg.net/rinetd/rinetd.html , следуя их инструкциям о том, как сделать переадресацию портов, а затем успешно подключил мое устройство Android для создания проекта asp.net localhost и остановился на моей точке прерывания.

мой файл rinetd.conf:

10.1.1.20 1234 127.0.0.1 1234
10.1.1.20 82 127.0.0.1 82

Где 10.1.1.20 - мой localhost ip, 82 и 1234 мои порты. Также у меня есть загорелый файл ванны для легкой жизни yournameofbathfile.bat, поместите этот файл внутри rinedfolder. Мой файл ванны:

rinetd.exe -c rinetd.conf

После запуска этого программного обеспечения запустите свой сервер aps.net и попробуйте получить доступ с устройства Android или любого устройства в вашей локальной сети (например, компьютер ABC запускает шпатлевку), и вы видеть, что все работает. Не нужно идти в настройку маршрутизатора или делать какие-либо другие сложные вещи. Я надеюсь, что это поможет вам. Наслаждайтесь.

0
ответ дан Jevgenij Kononov 15 August 2018 в 21:14
поделиться

Я успешно использовал 10.0.2.2 на своей домашней машине, но на работе это не сработало. После нескольких часов обманывания я создал новый экземпляр эмулятора, используя диспетчер виртуального устройства Android (AVD), и, наконец, 10.0.2.2 работал.

Я не знаю, что было не так с другим экземпляром эмулятора (платформа была такой же), но если вы обнаружите, что 10.0.2.2 не работает, попробуйте создать новый экземпляр эмулятора.

26
ответ дан Peter Mortensen 15 August 2018 в 21:14
поделиться
  • 1
    К сожалению, это не работает для меня даже после создания нового экземпляра AVD. Что ты предлагаешь? Переустановить все? – Vlado Pandžić 26 April 2013 в 18:29

Если вы находитесь в окнах, вы можете перейти в систему simbol и записать ipconfig и проверить, какой IP-адрес назначен вашей машине.

1
ответ дан Ricardo 15 August 2018 в 21:14
поделиться
  • 1
    Это не обязательно при отладке с эмулятора, поскольку вы можете использовать специальный псевдоним для интерфейса loopback хоста, упомянутый в других ответах. Однако если отладка с физического устройства Android, то да, вам нужно определить фактический адрес вашего тестового сервера и использовать его. – Chris Stratton 23 July 2017 в 20:10

Другим обходным решением является получение бесплатного домена от no-ip.org и указание его на локальный IP-адрес. Затем вместо использования http://localhost/yourwebservice вы можете попробовать http://yourdomain.no-ip.org/yourwebservice

0
ответ дан Weapon X 15 August 2018 в 21:14
поделиться
Другие вопросы по тегам:

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