0

私は現在、このコードを使用してブログの購読者数を取得しています。

$whaturl="http://api.feedburner.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/DesignDeluge"; 
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $whaturl);
$data = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($data); 
$fb = $xml->feed->entry['circulation'];

しかし、$ fbをエコーすると、機能しません($ fbがエコーされているファイル全体が表示されません)。これが機能しない理由について何かアイデアはありますか?

4

1 に答える 1

1

SimpleXMLElementを使用してロードする前に確認$dataすると、HTMLコードの次の部分が含まれていることがわかります。

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://feedburner.google.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/DesignDeluge">here</A>.
</BODY></HTML>

だから、あなたが探しているものをそこに見つける方法はありません;-)


CURLOPT_FOLLOWLOCATION解決策は、オプション を使用することである可能性があります(を参照curl_setopt。したがって、curlはリダイレクトに従います。

...しかし、これも機能していないようです。


実際、以前に投稿したHTMLコードの部分で指定されたURLを読み込もうとすると、次のようになります。

http://feedburner.google.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/DesignDeluge

戻り値として次のXMLのみを取得します:

<?xml version="1.0" encoding="utf-8" ?>
<rsp stat="fail">
    <err code="2" msg="This feed does not permit Awareness API access" />
</rsp>


正しいURL/フィードを使用していますか?

于 2010-04-24T21:12:26.880 に答える