繁体   English   中英

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

[英]PHP cURL connect using IP address instead domain name

我在同一数据中心运行了几台启用了内部网络的服务器。 为了速度和成本(内部流量不计费),我希望能够在内部IP上的各种服务器之间进行切换。

我刚刚发现,如果我尝试的话

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(不添加任何/ etc / hosts映射)从www.mytopsite.com获取文件/index.php,你可以这样做:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM