函数名称: fsockopen()
适用版本: PHP 4, PHP 5, PHP 7
用法: 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"),即默认套接字超时时间。
返回值:成功时返回一个打开的连接资源,失败时返回 FALSE。
示例:
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "连接失败: $errstr ($errno)";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp);
}
fclose($fp);
}
?>
以上示例尝试与 "www.example.com" 的 HTTP 服务器建立连接,并发送一个简单的 GET 请求,最后输出服务器返回的内容。如果连接失败,将会显示错误信息。