我正在做一个移动网站,想用我的iPhone浏览器测试一下。我的Windows 7电脑和iPhone都在同一个无线网络上。如何从iPhone访问localhost ?现在我得到一个404错误。


当前回答

老问题。对我有用的新答案我。

通过USB连接你的iPhone和电脑。

打开系统首选项>共享。

在左侧选项卡中选择Internet共享。这将显示您的互联网共享控件在右侧。

如果“Internet共享”后的复选框已启用,请取消勾选。

在“互联网共享”选项的右侧,勾选“iPhone USB”。

通过勾选其复选框启用Internet共享。可能会弹出一个窗口,要求您确认此操作。

找到顶部附近的消息,上面写着:“您本地网络上的计算机可以通过:xxxx.local访问您的计算机。记下xxxx说了什么——这是你的计算机的名称。你要把它输入到你的地址栏,所以我建议你把它编辑成一个简短的单词。

现在您应该能够从xxxx访问您的本地主机服务器。Local:yyyy,其中XXXX是上一步中您的名称,yyyy是服务器的端口号。

其他回答

对于那些使用正确IP地址但仍然无法连接到本地服务器的人,另一件要检查的事情是您或您的同事没有将设备配置为使用代理服务器。

我有一台设备无法连接,结果发现该设备被配置为使用Charles Proxy,当然它没有运行。

找到你系统的IP地址和你运行网站的端口。

假设您的IP地址是121.300.00.250,端口是8080。

[端口号:在运行页面时看到您的web浏览器,例如:localhost:8080/…]那么端口号是8080]

现在在你的手机转到121.300.00.250:8080/..你会找到你的网站。

重要提示:您必须确保您的服务器(例如Apache Tomcat)处于启动状态

如果你宁愿输入主机名而不是IP地址

第一选择(快速方式):

您应该能够在您的iPhone上导航到http://my-macbook-pro.local/mywebsite。参见https://stackoverflow.com/a/9304094/470749

这种方法往往是有效的,因为'。域是一个特殊的保留字。

第二选择:

访问http://xip.io/,这是一个免费的服务,非常方便。无需配置。

然后,当您浏览到http://mysite.app.192.168.1.130.xip.io(使用服务器上的浏览器或LAN上的任何设备)时,它将显示托管在192.168.1.130上的页面。

如果您在该IP上存在的机器上运行Homestead,那么浏览http://mysite.app.192.168.1.130.xip.io:44300 (URL中包含端口)会以某种方式显示Homestead Vagrant虚拟机上的页面,地址为192.168.10.10。很神奇的。

第三种选择(它不依赖于服务,灵活但更复杂,只有当你有一个带有DD-WRT的路由器时才能工作):

如果您有一个本地服务器托管多个不同的站点,您希望通过不同的主机名(通过iPhone)访问这些站点,您可以这样做。

In your OS, change the name of your computer to something short, meaningful, and easy to remember, such as "RYANDESK". In your DD-WRT router settings: In Services > Services > Static Leases, set the MAC address of your server to point to a specific IP address, such as 192.168.1.108. Set its hostname to be the same as you named your computer earlier. "Client Lease Time" can be 1440 minutes. Be sure to press Save and also Apply Settings with every change. ("Save" doesn't seem to automatically apply the settings.) If you get an error, it's probably because the GUI design of DD-WRT is misleading, and you unnecessarily pressed "Add" for Static Leases. In DHCP Server > User Domain, choose "LAN & WAN". For "LAN Domain", set it to some short string, such as your initials without any punctuation (e.g. "xyz"). Probably avoid using the word "local" since there might be conflicts. Don't use real-world domains such as "com", "org", "net", etc. In Services > Services > DNSMasq, enable DNSMasq and "Local DNS" and configure "Additional DNSMasq Options" to be something like: address=/project1.xyz/project2.xyz/192.168.1.108 (where xyz is whatever you chose in the earlier step, the IP points to the specific machine, and project1 and project2 are whatever hostname you want to point to each of those projects (such as different Nginx configs). Ensure that your HOSTS file doesn't have any entries conflicting with what we've done. If you don't know what a HOSTS file is, you're probably fine. Flush your DNS cache and release and renew your local IP. Switch into and out of Airplane Mode on iPhone to flush DNS cache there too. Now you can browse to http://ryandesk.xyz in your iPhone (or in your desktop browser), and it will resolve to your local server. So hopefully you've set up your Nginx or Apache or whatever to be listening for that hostname. https://wiseindy.com/it/how-to-access-your-pcs-using-dns-names-with-dd-wrt/ http://www.howtogeek.com/69696/how-to-access-your-machines-using-dns-names-with-dd-wrt/

看看这个答案,它讨论了通过直接Objective-C调用内部路由HTTP到支持HTTP的层/嵌入式web服务器(让我们假设HTTP服务器代码在同一个应用程序中,希望在web小部件中显示HTML)。

这样做的优点是稍微更安全(可能更快),因为不应该暴露任何端口。

如果您正在使用MAMP,在您的iPhone Safari浏览器中输入您的IP地址(例如192.0.0.63),然后输入端口号8888(例如192.0.63:8888),您将能够在您的iPhone中看到您的本地站点。

如果使用WAMP服务器,同样在iPhone safari浏览器中输入IP地址(比如192.0.0.63),就是这样。但是不要忘记从WAMP服务器的httpd.conf文件中删除deny。如果你从127.0.0.1开始查找allow线,在它上面或下面,你会看到deny from all;只需要删除这一行并重新启动WAMP服务器就可以了。