curl/wget/file_get_contents如何使用不同的IP?

How to use different IP with curl/wget/file_get_contents?

在 DirectAdmin 中,我可以将 IP 分配给域。我那里有 20 个不同的 IP。 我能以某种方式将给定 IP 绑定到 curl/wget/file_get_contents 吗? 我知道我有哪些外部 IP,但我不知道任何内部信息,比如接口。

因为你的问题不是 100% 清楚:

  • 如果您需要 PHP/cURL 的解决方案,请参阅 Gabi 链接到的问题。
  • 如果您想使用 CLI curl 执行此操作,请执行 curl --interface INTERFACE
  • 如果您想使用 CLI wget 来完成,请执行 wget --bind-address=ADDRESS

编辑: 扩展评论 - 据我了解,“外部 IP”是当前机器上不可寻址的 IP。这意味着:

  • ...外部 IP 的接口位于另一个系统上,并且两个(或更多)系统之间正在发生某种形式的网络故障(如 NAT

  • ...您有权访问的系统不授予您通过 OS 和本地网络堆栈访问本地接口的权限(网络层可以完全虚拟化,因为示例)

在这两种情况下,您显然无法绑定到那些接口。但可以肯定的是,您必须掌握托管商的网络设置。如果不指定 IP,它使用 20 个中的哪个?总是一样的吗?