2012-11-24 99 views
1

我必須把這個頁面:http://www.tvindiretta.com/m/放在一個iframe中。此頁面是cURL驅動的。他是內容。當我嘗試將此網址:http://www.tvindiretta.com/m/index.php放入iframe(帶標記)時,瀏覽器將重定向到iframe網址。我怎樣才能保持這個頁面內的iframe。我必須更改用戶用戶代理。我是cURL的完整noob,但請幫助我。他是/m/index.php網頁源代碼:如何將CURLOPT_HTTPHEADER頁面放入iframe中?

<?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); 
?> $ 
+0

cURL **沒有**與iframes。你究竟想要做什麼?防止幀破壞? – Brad

+0

我只是想把這個頁面:http://www.tvindiretta.com/m放入一個iframe – Ankloop

+1

你將不得不修改該頁面,刪除執行框架破壞的JavaScript。這不是使用內容的合法方式。 – Brad

回答

0

我不認爲這是因爲

<?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 attribute「沙箱」,它可以限制iframe的內容的行爲。 不幸的是,這似乎只支持Chrome和Safari。

這裏的一個想法可能是試圖抓取網頁的內容(例如在PHP中使用DomDocument),只保留您感興趣的內容並嘗試重現其風格。說起來可能比做起來容易,但我看不到一種更清晰的方式來做到這一點。

既然看起來你有興趣收到一個電視節目,你可以檢查一個專用的xml scaper XMLtv