php fsockopen()
<?php function check_url($url){ $url_pieces = parse_url($url);//解析url,返回数组
//设置路径和端口 $path = (isset($url_pieces['path']))?$url_pieces['path']:'/'; $port = (isset($url_pieces['port']))?$url_pieces['port']:80; if (!!$fp = fsockopen($url_pieces['host'],$port,$errno,$errstr,30)){//连接
//向服务器发送一些数据 $send = "HEAD $path HTTP/1.1\r\n"; // \r\n是为了满足正确的请求格式 $send .= "HOST:{$url_pieces['host']}\r\n"; $send .= "CONNECT:Close\r\n\r\n"; fwrite($fp, $send);
//读应答 $data = fgets($fp, 128); fclose($fp);//关闭连接 list($reponse, $code) = explode(' ', $data); if ($code == 200) { return array($code,'good'); }else{ return array($code,'bad'); } }else{ return array($errstr,'bad'); } } $urls = array( 'http://www.larryullman.com/', 'http://www.larryullman.com/wp-admin/', 'http://www.larryullman.com/tutorials' ); echo '<h2>Validating URLs</h2>'; set_time_limit(0); foreach ($urls as $url){ list($code ,$class) = check_url($url); echo "<p><a href=\"$url\" taget=\"new\">$url</a>(<span class=\"$class\">$code</span>)</p>\n"; } ?>
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步