下面的用法有什么区别curl
?
curl -vo 1 'https://example.com' --resolve example.com:443:1.1.1.1
curl -vo 1 'https://1.1.1.1' -H 'host: example.com'
显示1.1.1.1
example.com 的 A 地址。
答案1
第一个curl
命令行使用https://demo.cc
相当无意义的--resolve
选项进行提取demo.com
(毫无意义,因为它不是正在提取的 URL 的域名)。
第二个获取请求标头https://1.1.1.1
并将其设置host:
为demo.com
。
根据 1.1.1.1 处的服务器的配置方式,第二个curl命令可能获取 的默认页面https://demo.com
。但它可能不会 - 首先,Cloudflare 的 DNS 解析器在 1.1.1.1demo.com
根本不可能被配置为提供网页服务,并且它完全有可能忽略小写host:
标头(应该是Host:
, 带有大写“ H"),因为某些 Web 服务器在识别标头名称时区分大小写。
顺便说一句,如果您不拥有demo.com
或者demo.cc
不应该使用它们作为示例,那么它们属于其他人。使用example.com
orexample.net
或example.edu
, orexample.org
代替。这些域名仅用作示例,绝不会分配给任何人。看https://en.wikipedia.org/wiki/Example.com