【问题标题】:Is there a curl command to do an inline hosts file replacement for that command?是否有 curl 命令可以为该命令执行内联主机文件替换?
【发布时间】:2016-05-13 12:50:14
【问题描述】:
我正在测试一个服务发现工具,我想在设置它们之前测试将指向它的 dns 条目。
通常我会这样做:
- 将它们添加到
hosts 文件中,
- 运行
curl 命令,然后
- 从
hosts 文件中删除它们。
我想我应该可以使用curl 内联执行此操作。
我的问题是:是否有一个 curl 命令可以为该命令执行内联主机文件替换?
编辑:
我相信这不是this 或this 的重复,因为我问的是一个恰好有相同答案的不同问题。
【问题讨论】:
标签:
curl
dns
hosts
service-discovery
【解决方案1】:
对于其中的一部分,您实际上想使用dig 测试 dns。
这样做的好处是您可以指定 dns 服务器和您尝试解析的主机。
dig @127.0.0.1 -p 8600 web.service.consul
其中@127.0.0.1是dns服务器参数,web.service.consul是在dns服务器consul上配置的服务。然后将生成的 IP 地址传递给您的 curl 命令。
要回答最初的问题 - 你想pass a header 使用 curl
curl -H 'Host: static.example.com' http://dnsserveripaddress/
有好心人指出--resolve
但它看起来像我actually needed
curl --dns-servers
注意这里有issues on OS X。似乎有a workaround,但我无法让它工作。
您甚至可以启动自己的 dns 服务器,然后将您的机器指向该 dns 服务器。