同一網域名稱對應不同IP,訪問指定主機檔案內容的方法

2022-08-10 23:42:18 字數 1494 閱讀 3882

php獲取遠端主機檔案內容方法很多,例如:file_get_contents,fopen 等。

<?php

echo file_get_contents('');

?>

但如果同一網域名稱對應了不同ip,例如demo.fdipzone.com對應3個ip192.168.100.101, 192.168.100.102, 192.168.100.103。

則不能使用file_get_contents獲取 192.168.100.101的內容,因為會根據負載均衡原則分配到不同主機,因此並不能確定每次都是訪問192.168.100.101這台主機。

如本地設定ip指定host的方法,但如果同乙個程式中,需要先訪問192.168.100.101,然後再訪問192.168.100.102,則本地設定ip指定host的方法不行,因為不能將多個ip指定同乙個網域名稱。

因此,需要使用fsockopen方法去訪問不同ip的主機,然後通過header設定host來訪問。

使用fsockopen需要設定php.ini中的allow_url_fopen為 on。

<?php

/**

* @param string $ip 主機ip

* @param string $host 主機網域名稱

* @param int $port 埠

* @param string $url 訪問的url

* @param int $timeout 超時時間

// 讀取內容

while($row=fread($fp, 4096))

fclose($fp);

$pos = strpos($response, "\r\n\r\n");

$response = substr($response, $pos+4);

return $response;

}echo remote_visit('192.168.100.101', 'demo.fdipzone.com', 80, '/test.php', 90);

echo remote_visit('192.168.100.102', 'demo.fdipzone.com', 80, '/test.php', 90);

echo remote_visit('192.168.100.103', 'demo.fdipzone.com', 80, '/test.php', 90);

?>

同一網域名稱對應不同IP,訪問指定主機檔案內容的方法

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!php獲取遠端主機檔案內容方法很多,例如 file get contents,fopen 等。echo file get contents 但如果同一網域名稱對應了不同ip,例如demo....

多個網域名稱指向同一主機IP

過了幾天,發現不對呀,搜應用網 怎麼指向了自己的乙個網域名稱www.changeself.com。對,上面一行,www.changeself.com 2010 10 7收錄的,想想解決辦法吧。應該在apache的http.conf中,新增一條重定向就可以搞定 rewriteengine on rew...

APACHE 同一IP繫結多個網域名稱

折騰好一陣子。終於弄出來了 在httpd.conf檔案的最後,新增如下的 namevirtualhost 這一第是必須的!namevirtualhost 80 serveradmin iceboard.yang gmai.com documentroot d www easyang serverna...