我正在测试一个服务发现工具,并且我想在设置之前测试指向它的 dns 条目。
通常我会这样做:
- 将它们添加到
hosts
文件中, - 运行
curl
命令,然后 - 从
hosts
文件中删除它们。
我想到我应该能够通过 curl
内联完成此操作。
我的问题是:是否有一个 curl
命令来执行该命令的内联主机文件替换?
最佳答案
对于这一部分,您实际上想使用 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 服务器。
关于curl - 是否有一个curl 命令可以对该命令进行内联主机文件替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37210516/