Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php通过socket套接字获取web服务器的响应内容

php通过socket套接字获取web服务器的响应内容

WBOY
WBOYasal
2016-07-28 08:27:381049semak imbas

$url="www.baidu.com";  //域名
$path="/";  //路径
$type="GET"; //请求方法
error_reporting(E_ALL);
echo "

TCP/IP Connection

\n";
/* 获取端口号 */
$service_port = getservbyname('www', 'tcp');
/* 获取ip地址. */
$address = gethostbyname($url);
/* 创建 TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}
echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}
$in = $type." ".$path." HTTP/1.1\r\n";
$in .= "Host: ".$url."\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';
echo "Sending HTTP HEAD request...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";
echo "Reading response:\n\n";
while ($out = socket_read($socket, 2048)) {
    echo $out;
}
echo "Closing socket...";
socket_close($socket);
echo "OK.\n\n";
?>

以上就介绍了 php通过socket套接字获取web服务器的响应内容,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:nginx location匹配规则Artikel seterusnya:tomcat结合nginx使用小结