我正在建立一个网站,我想知道它是如何在Android智能手机上呈现的,所以我下载了Genymotion。我无法在Genymotion上看到本地站点上的任何页面(“错误请求 - 无效主机名”)。
当我启动Visual Studio解决方案时,主页地址为
http://localhost:18207
所以按照我找到的建议here我在Genymotion中输入以下地址:
http://10.0.3.2:18207
http://192.168.56.1:18207
http://(my ip address):18207
但我总是遇到上述错误,或者有时会出现超时错误。
非常感谢任何建议!
答案 0 :(得分:6)
我遇到了同样的问题并在此博客文章的帮助下重新解决了这个问题:
http://blog.binarybits.net/applications/iis-express-http-error-400-the-request-hostname-is-invalid/
我不想对该帖子的内容赞不绝口,但为了防止它离线,我将列出这个过程。基本上,您需要更新IIS Express的配置,以便它接受来自Genymotion的传入请求。假设您的站点在端口8080上运行:
第1步 - 在 C:\ Users \\ Documents \ IISExpress \ config \ applicationhost.config 中修改您网站的具体配置,使其与*相关联,而不是本地主机
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="PATH TO YOUR SITE" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:*" /> <!-- CHANGE THIS LINE -->
</bindings>
</site>
第2步 - 添加ACL规则以允许传入连接访问您的笔记本电脑(通过管理员运行此命令)
netsh http add urlacl url=http://*:8080/ user=everyone
第3步 - 最后使用此特殊地址连接到Genymotion内的网站
http://10.0.3.2:8080/
这对我有用,所以希望它对你也有用。
答案 1 :(得分:1)
就我而言,Sam Storie提供的答案略有修改,解决了这个问题。 我的本地服务使用MVC Web Api控制器托管(我使用的是Visual Studio 2013)。
在步骤1中,我没有将:8080:localhost替换为:8080:*,而是在现有的绑定旁边添加了一个新绑定。新绑定中没有localhost或*。它看起来像这样:
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" /> <!-- Existing binding -->
<binding protocol="http" bindingInformation=":8080:" /> <!-- New binding. Note that there is no asterisk(*)-->
</bindings>
如果不清楚,请确保将8080替换为localhost上托管服务的实际端口。就我而言,它是53533。
答案 2 :(得分:0)
在192.168.56.1网上运行您的Web服务器。这通常是服务器配置中的设置。它可能默认为主机的真实适配器,而不是VirtualBox所连接的虚拟适配器。我不确定您使用的主机操作系统,但虚拟适配器通常是用于Linux安装的vbox0。这是Genymotion的虚拟网络。
您的Genymotion VM将具有类似192.168.56.101的DHCP地址。您可以使用VM内的Genymotion配置应用程序进行检查。如果是这种情况,并且您的Web服务器也在此子网上,您应该可以将Genymotion浏览器指向192.168.56.1。
答案 3 :(得分:0)
您只需使用http://yourHostIpAdress/YourWebSite
(无需端口)
至少在通过IIS在本地发布网站时这是有用的