function GetHTML ($url, &$delta, $corto = false, $complet = true) {
$url_stuff = parse_url($url);
$fp = fsockopen ($url_stuff['host'], 80, $errno, $errstr, 30);
if (!$fp) {
exit;
} else {
$header = "GET " . $url_stuff['path'] . "?" . $url_stuff['query'] ;
$header = $header . " HTTP/1.0/r/nHost: " . $url_stuff['host'] . "/r/n/r/n";
fputs ($fp, $header);
//Separar contenido...
$header = '';
$body = '';
$act = false;
$fin = false;
while ((!feof($fp)) && !$fin) {
$line = fgets ($fp,1024);
if (!$act) {
if (strpos($line, "/r/n", 0) == 0) {
$header .= $line;
if (!$complet) $fin = true;
$act = true;
} else {
$header .= $line;
}
} else {
if ($corto) {
if (eregi ("<body([^>]*)>", $line, $o)) $fin = true;
}
if (!$fin) $body = $body . $line;
}
}
//Seguir location...
$ret = strpos($header, "Location:", 0);
if ($ret !== false) {
$fin = strpos($header, "/r/n", $ret +9);
$nueva = substr($header, $ret+9, $fin - $ret - 9);
$body = GetHTML($nueva, $delta, $corto, $complet);
} else {
$delta = $url;
}
fclose ($fp);
}
return $body;
}
这段博客展示了一个名为GetHTML的PHP函数,该函数接收URL等参数,通过fsockopen建立连接,发送HTTP请求,分离响应的头部和主体内容,还能处理重定向,最终返回HTML主体内容,是信息技术领域中PHP后端开发的代码示例。

被折叠的 条评论
为什么被折叠?



