gpt4 book ai didi

PHP cURL 使用 IP 地址而不是域名连接

转载 作者:搜寻专家 更新时间:2023-10-31 21:07:53 24 4
gpt4 key购买 nike

我在启用了内部网络的同一个数据中心运行多台服务器。出于速度和成本的考虑(内部流量不计费),我希望能够在其内部 IP 上的各种服务器之间进行 cURL。

我刚刚发现,如果我尝试按照以下方式进行操作

curl_init('10.x.x.x);

甚至

curl_init():
curl_setopt(CURLOPT_URL,'https://10.x.x.x/scripttorun.php');

不起作用。当我只有非常少量的数据要发送时,我可以将其附加为查询字符串并执行 file_get_contents。但是,当数据量太大而无法作为 GET 请求发送时,如果我不能使用 cURL,事情就会变得更加困惑。

一些搜索建议我可以通过编辑/etc/hosts 表来说服 cURL 使用 IP。问题是内部网络上的各种服务器可能会以不可预测的时间间隔上下线,所以我最终不得不定期轮询以查看哪些服务器在线,编写脚本来更新/etc/hosts...很乱。

也许有一个简单的解决方案可以说服 cURL 使用 IP。毕竟,file_get/put_contents 毫不退缩地这样做了。我非常感谢任何可能能够解决 cURL 问题的人

最佳答案

如果您必须连接到服务器并询问特定的服务器名称,您可以使用 curl setopt 参数来完成。如果你想从特定 IP 的 www.mytopsite.com 获取文件/index.php(不添加任何/etc/hosts 映射)你可以这样做:

$headers = array("Host: www.myfaketopsite.com");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, "http://10.1.2.3/index.php");

关于PHP cURL 使用 IP 地址而不是域名连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29208610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com