【问题标题】:How to specify the IP address on curl?如何在 curl 上指定 IP 地址?
【发布时间】:2017-09-09 23:18:09
【问题描述】:

我的服务器有 5 个不同的外部 IP(所有工作)

我通过使用添加它们:

 ip addr add xx.xx.xx.xx/32 dev eth0
 ip addr add yy.yy.yy.yy/32 dev eth0
 ip addr add zz.zz.zz.zz/32 dev eth0

我应该如何 curl 使用 zz.zz.zz.zz IP 地址?

【问题讨论】:

  • 如何在curl上指定目标网站IP地址?

标签: linux curl networking


【解决方案1】:

你应该可以使用

curl --interface zz.zz.zz.zz http://example.com/

【讨论】:

  • 非常奇怪的事情:它有时会起作用(并且会卷曲结果),而且大多数时候它会说:无法绑定到 zz.zz.zz.zz
  • 根据手册页,--interface 选项可以采用interface name, IP address or host namelinux.die.net/man/1/curl 我没有注意到有时无法正常工作的问题。
  • 这对于从所有可用的 ipv6 地址发送请求也很有用:ip -6 addr show dev eth0 | grep 2604 | awk '{print $(NF-2)}' | rev | cut -c 4- | rev | xargs -I % curl -6 'https://api64.ipify.org?format=json' --interface %
  • @yarek 要解决“could not bind to ...”问题,必须加上参数--ipv4,例如: curl --interface --ipv4 zz.zz.zz.zz example.com
猜你喜欢
  • 1970-01-01
  • 2013-03-29
  • 1970-01-01
  • 2018-01-22
  • 2015-01-13
  • 2021-07-04
  • 2010-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多