温馨提示×

php中的fsockopen函数怎么使用

PHP
小亿
84
2024-05-08 17:04:55
栏目: 编程语言

在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请求,读取并输出了响应内容,最后关闭了连接。

0