一个函数

这段博客展示了一个名为GetHTML的PHP函数,该函数接收URL等参数,通过fsockopen建立连接,发送HTTP请求,分离响应的头部和主体内容,还能处理重定向,最终返回HTML主体内容,是信息技术领域中PHP后端开发的代码示例。

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;

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值