通过 IP 地址从网络服务器获取 URI 与主机名的 IP 不匹配

通过 IP 地址从网络服务器获取 URI 与主机名的 IP 不匹配

使用curl,我想通过特定的 IP 地址从 Web 服务器请求 URI,该地址不一定与主机名的转发 DNS 匹配。

例如,假设主机名 www.example.com 通常会解析为 192.0.2.222。我该如何从 192.0.2.111curl请求 URI http://www.example.com(并查看响应)?

注意:我想避免使用/etc/hosts.

答案1

是的,这是可能的。的选项--resolve可以满足curl您的需求:

--resolve <host:port:address>

为特定主机和端口对提供自定义地址。使用此功能,您可以使curl 请求使用指定的地址,并防止使用通常解析的地址。将其视为命令行上提供的 /etc/hosts 替代方案。端口号应该是用于主机将使用的特定协议的编号。这意味着如果您想为同一主机但不同端口提供地址,则需要多个条目。

该选项可以多次使用以添加许多要解析的主机名。

(7.21.3 中添加)

例子

/foo来自192.0.2.111as 的请求www.example.com。 (端口 80 上的请求由www.example.com映射到。)192.0.2.111curl

curl --resolve www.example.com:80:192.0.2.111 http://www.example.com/foo

相关内容