簡體   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