這是一個WordPress的博客RSS提要的file_get_contents現在按預期工作 - 外域的作品相同的域不
從域1,使用這個腳本時,它會在網域,但沒有DOMAIN1工作。
從域2,使用該腳本時,它同時適用於域2和域1
我的假設是,它必須是一個權限錯誤,但我不知道是什麼設置不正確(域2可以獲取博客精細兩個域,和域1將獲取的域2中的博客,而不是域1)
的結果相同試圖使用捲曲時,域1可以獲取DOMAIN2,但不DOMAIN1而DOMAIN2可以從兩個域1和域2取料
file_get_contents
個$feedUrl = 'http://domain1.com/blog/feed/';
$feedUrl = 'http://domain2.com/blog/feed/';
$rawFeed = file_get_contents($feedUrl);
$xml = new SimpleXmlElement($rawFeed);
$i = 0;
foreach($xml->channel->item as $post)
{
$post->link = str_replace('&', '&', $post->link);
$date = new DateTime($post->pubDate);
if($i == 5) break; // number of feed items
$title = '<a href="' . $post->link . '" title="' . $post->title . '" class="feed-link">' . $post->title . '</a>';
?>
<p><?php echo $title; ?></p>
<?php
$i++;
}
?>
捲曲
<?php
$feedUrl = 'http://domain1.com/blog/feed/';
$feedUrl = 'http://domain2.com/blog/feed/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $feedUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-type: text/xml'
));
$rawFeed = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
$xml = new SimpleXMLElement($rawFeed);
echo "<pre>";
var_dump($obj);
echo "</pre>";
?>
URL風格我曾嘗試和結果
/www/domain1/blog/feed/ (file or folder does not exist, which is accurate)
http://domain1.com/blog/feed/ (timeout)
http://555.555.555.555/blog/feed (ip address) (timeout)
只是想知道,但爲什麼你需要從同一個域調用一個頁面?不是在同一臺服務器上的頁面?難道你不能只包含它,或者至少只是閱讀源代碼,並找到它是如何生成和重複的? – 2015-02-09 17:43:49
也包含您的cURL請求... – 2015-02-09 18:06:32
'error_reporting(E_ALL); ini_set('display_errors','1');' – AbraCadaver 2015-02-09 18:08:16