Android:"错误的请求 - 无效的主机名"从模拟器访问localhost时

时间:2018-03-14 05:43:13

标签: android android-emulator localhost

我无法将localhost与xamarin.android应用程序一起使用。 我已经执行了Web项目& Chrome浏览器上的服务项目(不是移动应用)。

This is emulators executed project

我尝试在Android Studio模拟器中浏览的显示端口号& Genymotion模拟器通过附加10.0.2.2:& 10.0.3.2:分别得到了结果 Bad Request-Invalid Hostname 。即使我尝试了服务项目端口号,两者都无效。

Web项目:使用Visual Studio 2017和ASP.NET的ASP.NET项目让服务项目在同一个解决方案中。

3 个答案:

答案 0 :(得分:3)

打开您的解决方案文件夹。您可能在1个文件夹中有多个项目,您不需要项目的文件夹,但需要一个根文件夹。在其中有.vs/config/applicationhost.config个文件,将其打开。

在内部找到

<sites>,如果您在一种解决方案中切换启动项目,则将有您正在运行的站点,可能会有多个。右键单击它的图标时,该名称将与IIS在任务栏中显示的名称相对应。标签可以是例如<site name="ServerApp" id="2">。 现在,您需要添加一行以将外部连接绑定到您的计算机ip,例如

      <site name="ServerApp" id="2">
...
        <bindings>
...
          <binding protocol="http" bindingInformation="*:60424:127.0.0.1" />
        </bindings>
      </site>

设置适当的端口号和协议,这里重要的是将它们映射到127.0.0.1,而不是“ localhost”,然后它们就可以通过10.0.2.2:60424用于android模拟器了

答案 1 :(得分:1)

您可以使用我们的免费扩展传送带https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti

如果传送带提供给您的IP无法使用,请用10.0.2.2代替。使用传送带解决了需要使IIS Express绑定到其他主机名的问题。它还具有其他一些功能。

答案 2 :(得分:0)

我已经从下面的答案中解决了这个问题。通过使用第三方软件ngrock

How to use it.