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

2021-09-11 07:02:54 字數 2951 閱讀 1950

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

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 超時時間* @return string*/

function

remote_visit

($ip, $host, $port, $url, $timeout)

$out = "get $ http/1.1\r\n";    $out .= "host: $\r\n";    $out .= "connection: close\r\n\r\n";    fputs($fp, $out);    $response = '';    // 讀取內容

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);?>

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

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 超時時間* @return string*/

function

remote_visit

($ip, $host, $port, $url, $timeout)

$out = "get $ http/1.1\r\n";    $out .= "host: $\r\n";    $out .= "connection: close\r\n\r\n";    fputs($fp, $out);    $response = '';    // 讀取內容

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.fdipzone.com對應3個ip192.168.100.101,192.168.100.102,192.16...

多個網域名稱指向同一主機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...