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 个中的哪个?总是一样的吗?
在 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 个中的哪个?总是一样的吗?