如何通过IP地址访问共享服务器上的网站?

use*_*776 19 web-hosting ip-address http php virtual-host

我有几个问题,请帮忙:

拳头,我只需要输入 就可以访问 Google 搜索http://74.125.224.211,因为这是 nslookup 返回的 IP 地址。

但是,我无法使用从 www.yahoo.com 返回的 IP 地址执行此操作。如何通过 IP 进入 Yahoo 搜索页面?

另一个例子,http://www.allaboutcircuits.com将解析到68.233.243.63DNS 服务器,但如果我去http://68.233.243.63,我得到“Hello world!”。

其次,出于某种原因,我的网络托管服务的 DNS 解析器有问题(不会修复!!)。所以命令像

get_file_contents("http://www.allaboutcircuits.com");
Run Code Online (Sandbox Code Playgroud)

将返回 php_network_getaddresses: getaddrinfo failed: Name or service not known

我如何通过 IP 地址解决这个问题,

68.233.243.63
Run Code Online (Sandbox Code Playgroud)

我的意思是,以某种方式将 HTTP 主机名参数附加到get_file_contents()?

我想自己解决这个问题(在我的代码中),服务器管理员不会进行故障排除/调整。

Gra*_*ant 17

在您的 PHP 脚本中,当您通过 IP 地址访问它时,您还需要Host:在您的请求中使用正确的域名发送标头。

Stack Overflow 上的这个问题解释了如何做:https : //stackoverflow.com/questions/356705/how-to-send-a-header-using-a-http-request-through-a-curl-call


小智 10

正如wallyk所说,它是虚拟服务器

以 apache 为例

<VirtualHost *:80>
ServerName example2.com
DocumentRoot C:/www/example2.com
</VirtualHost>

<VirtualHost *:80>
ServerName example.com
DocumentRoot C:/www/example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在 c:\www\example.com 中创建一个索引文件,上面写着“Hello World!example.com”

在 c:\www\example2.com 中创建一个索引文件,上面写着“Hellow World!example2.com”

并将您的主机文件更改为

127.0.0.1 example.com
127.0.0.1 example2.com
Run Code Online (Sandbox Code Playgroud)

然后去http://example.com 然后去http://example2.com

这就是每个 IP 可以拥有多个站点的方法

所以基本上答案是,不,您将无法从 ip 获取该站点。

  • 虽然这在技术上可能是准确的,但它并没有解决问题。问题是询问如何从具有已知 IP 的服务器请求具有*已知主机名* 的特定站点,而不使用 PHP 脚本通过 DNS 自动解析 IP 地址。它不是询问如何找到与给定 IP 对应的主机名。wallyk 的评论更相关,因为他的链接包含有关服务器区分其托管的网站并提供正确的网站所需的“主机”标头的信息。 (4认同)

Bav*_*i_H 5

您说您想手动指定主机名和 IP 地址,而不是依赖您无法控制的 DNS 服务器。查看file_get_contents 文档中的评论,我看到那里的评论者通过创建包含所需 Host: 标头的上下文解决了类似的问题。像这样的东西:

$context = stream_context_create(array('http' => array('header' => 'Host: www.allaboutcircuits.com')));
$data = file_get_contents('http://68.233.243.63/', 0, $context);
Run Code Online (Sandbox Code Playgroud)

当然,请注意手动指定主机名和 IP 地址的缺点是,如果将来 IP 地址发生变化(例如,如果站点移至新的托管服务提供商),您的代码可能会停止工作,直到您手动更新 IP 地址。