curl - 是否有一个curl 命令可以对该命令进行内联主机文件替换?

标签 curl dns hosts service-discovery

我正在测试一个服务发现工具,并且我想在设置之前测试指向它的 dns 条目。

通常我会这样做:

  1. 将它们添加到 hosts 文件中,
  2. 运行 curl 命令,然后
  3. hosts 文件中删除它们。

我想到我应该能够通过 curl 内联完成此操作。

我的问题是:是否有一个 curl 命令来执行该命令的内联主机文件替换?

编辑: 我相信这不是 this 的重复项或this因为我问了一个不同的问题,但恰好有相同的答案。

最佳答案

对于这一部分,您实际上想使用 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/

相关文章:

c++ - curl 错误 - ssh 层中的 79 错误

http - 最小子域长度

google-chrome - Chrome忽略本地主机子域的主机文件

android - Android 模拟器的 Hosts 文件

curl - 如何从文件中读取 header 值并传入 CURL 请求?

javascript - YouTube API : How to upload thumbnail (JS)

php - 使 curl_multi 'sleep' 或等待发送下一个请求

java.security.cert.CertificateException : No subject alternative DNS name matching

dns - 无法打开从 CluedIn Home 存储库安装的网站

macos -/etc/hosts 文件不重定向到 mac 上的本地应用程序