在PHP中,fsockopen
函數用于建立一個到指定主機和端口的網絡連接。它的語法如下:
resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]] )
參數說明:
hostname
:要連接的主機名或IP地址port
:要連接的端口號,默認為-1,表示使用協議默認端口errno
:可選參數,返回連接過程中的錯誤號errstr
:可選參數,返回連接過程中的錯誤信息timeout
:可選參數,連接超時時間,默認為ini_get("default_socket_timeout")
示例:
$host = 'www.example.com';
$port = 80;
$timeout = 30;
$socket = fsockopen($host, $port, $errno, $errstr, $timeout);
if (!$socket) {
echo "連接失敗: $errstr ($errno)";
} else {
fwrite($socket, "GET / HTTP/1.1\r\nHost: $host\r\nConnection: Close\r\n\r\n");
while (!feof($socket)) {
echo fgets($socket, 4096);
}
fclose($socket);
}
在上面的示例中,我們首先使用fsockopen
函數建立到www.example.com
主機的80端口的連接,并設置了30秒的連接超時時間。然后我們通過連接發送了一個HTTP GET請求,讀取并輸出了響應內容,最后關閉了連接。