ASPX/RSS提要-无法打开流:已达到重定向限制

时间:2013-01-09 作者:M3o

我有一个一直困扰着我的问题。当我加载一个有提要的页面时。我把饲料放进去了wp-admin; 这通常适用于其他提要,但不确定为什么不适用于这种提要。

加载提要时,出现以下错误:

[函数.文件获取内容]:未能打开流:达到重定向限制,正在/wp-content/themes/wp-jqm-01-skolledana/functions中中止。第624行的php。

enter image description here

NOTE:提要在浏览器中工作

这可能是一个解析器问题,如果是,我仍然无法解决它。

下面是解析器的一些代码,来自函数。php:

class rss_php {

public $document;
public $channel;
public $items;

    /****************************
public load methods
    ***/
# load RSS by URL
    public function load($url=false, $unblock=true) {
        if($url) {
            if($unblock) {
    $this->loadParser(file_get_contents($url,         false,      $this->randomContext()));
            } else {
                $this->loadParser(file_get_contents($url));
            }
        }
    }
# load raw RSS data
    public function loadRSS($rawxml=false) {
        if($rawxml) {
            $this->loadParser($rawxml);
        }
    }

           /****************************
public load methods
    @param $includeAttributes BOOLEAN
    return array; ***/

# return full rss array
    public function getRSS($includeAttributes=false) {
        if($includeAttributes) {
            return $this->document;
        }
        return $this->valueReturner();
    }
# return channel data
    public function getChannel($includeAttributes=false) {
        if($includeAttributes) {
            return $this->channel;
        }
        return $this->valueReturner($this->channel);
    }
# return rss items
    public function getItems($includeAttributes=false) {
        if($includeAttributes) {
            return $this->items;
        }
        return $this->valueReturner($this->items);
    }

What could the problem be ?

EDIT:这是我的rss功能:

     function get_rss($url, $lang, $articles) {
$rss = new rss_php;
$rss->load($url);
$items = $rss->getItems();

// Sets the maximum items to be listed
$max_items = $articles;

$count = 0;

$html = \'\';
// Translates months to swedish
foreach($items as $index => $item) {
$pubdateForeignString = substr($item[\'pubDate\'], 4);
$pubdateEnglishString = str_replace(array(\'maj\', \'okt\'), array(\'may\', \'oct\'), $pubdateForeignString);
$pubdate = date("Y-m-d", strtotime($pubdateEnglishString));

$html .= \'
<ul class="rssList">
<li class="itemTitle"><a href="\'.$item[\'link\'].\'" title="\'.$item[\'title\'].\'" rel="external"><h2>\'.$item[\'title\'].\'</h2></a></li>
<li class="itemText">\'.$item[\'description\'].\'</li>
<li class="itemLink"><a href="\'.$item[\'link\'].\'" title="\'.$item[\'title\'].\'" rel="external" class="readmore">Läs mer</a><em>Publicerad: \'.$pubdate.\'</em></li>
</ul>\';
$count++; //Increase the value of the count by 1
if($count==$max_items) break; //Break the loop is count is equal to the max_loop
}    
echo $html;
}

1 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

问题很可能与您试图获取的地址有关,而且极不可能与您的代码直接相关。

您应该检查传递给file\\u get\\u内容的url,以确保它是您在浏览器中实际尝试的url。如果它们相同,则可能与其他服务器基于用户代理执行不同的操作有关。

旁注:您两次都在重新发明轮子,为什么不使用WordPress RSS API或至少是HTTP API呢?

按评论更新:

如果您只需要解析一个标准RSS提要,那么您应该考虑使用fetch_feed 作用默认情况下,此函数获取提要,对其进行解析并将结果缓存12小时。

结束

相关推荐

使用自定义php的WordPress身份验证?

我需要将wordpress登录集成到我的php网站中,为了单次登录访问我的网站和wordpress博客,我使用了一些使用curl的代码,它登录到用户中,然后重定向到我的主页,在我访问wordpress博客后,它不会验证我的身份,它说我要登录,am使用以下代码$username=\"admin\"; $password=\"blog\"; $url=\"http://wordpressblogURL/\"; $cookie=\"cookie.txt\"; $post