繁体   English   中英

如何将CURLOPT_HTTPHEADER页面放入iframe?

[英]How to put CURLOPT_HTTPHEADER page in iframe?

我必须在iframe中放置此页面: http ://www.tvindiretta.com/m/。 此页面由cURL驱动。 他就是它的满足感。 当我尝试将此网址: http : //www.tvindiretta.com/m/index.php放入iframe(带有标记)时,浏览器将重定向到iframe网址。 如何将该页面保留在iframe中。 我必须更改用户用户代理。 我是cURL中的菜鸟,但请帮助我。 他是/m/index.php页面的源代码:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.tvindiretta.com/");
curl_setopt($ch, CURLOPT_MAXREDIRS, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11 Safari/525.20'));

curl_exec($ch);
$result = curl_exec ($ch);
curl_close ($ch);

print $result;
curl_close($ch);
?> $

我认为此网页上没有用户代理重定向,因为

<?php
if (isset($_GET['get'])){

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.tvindiretta.com/m");
    curl_setopt($ch,  CURLOPT_RETURNTRANSFER, TRUE);
    curl_exec($ch);
    $result = curl_exec ($ch);
    curl_close ($ch);
    print $result;

}
else{
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<iframe src="test.php?get" style="position:absolute; top:100px; left:100px; width:400px; height:400px;"/>
</body>
</html>
<?php } ?>

似乎搞砸了页面,但无论如何还是为我提供了移动内容。

所以我想这里的真正问题是该页面内的javascript代码:

在html5中,您有一个新的iframe属性 “ sandbox”,可用于限制iframe的内容行为。 不幸的是,这似乎仅受Chrome和Safari支持。

这里的一个想法可能是尝试抓取网页的内容( 例如 ,使用PHP中的DomDocument ),仅保留您感兴趣的内容,并尝试重现其样式。 说起来容易做起来难,但是我看不出有一种更干净的方法。

由于您似乎有兴趣获取电视节目,因此可以检查专用的xml scaper XMLtv

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM