2011-12-28 10 views
0

私たちはPerlとcpan Modul FeedPPを使ってRSSフィードを解析しています。 Perlスクリプトは、RSSフィードの異なるアイテムを谷と彼liket、データベースへのリンクを保存し実行します:feedppとセッションID

my $response = $ua->get($url); 

if ($response->is_success) { 
     my $feed = XML::FeedPP->new($response->content, -type => 'string'); 
       foreach my $item ($feed->get_item()) { 
         my $link = $item->link(); 
         [...] 

$urlが、この場合はhttp://my.domain/RSS/feeds.xml

のように、RSSフィードへのURLが含まれていますhttp://my.domain/RSS/feeds.xml;jsessionid=4C989B1DB91D706C3E46B6E30427D5CD$item->link()は(RSSフィードを提供して)いくつかのウェブサーバは、HTTPは、このように、URLにセッションIDを追加するために参照しない、http://my.domain/topic/myarticle.html

問題があるように、RSSの記事へのリンクが含まれています。

奇妙なことに、feedPPは、このセッションIDをすべてのアイテムのリンクに追加することです。したがって$item->link()には、記事へのリンクが含まれています。http://my.domain/topic/myarticle.html;jsessionid=4C989B1DB91D706C3E46B6E30427D5CD

元のリンクにセッションIDが含まれていない場合でも。

feedPPの動作を切り替える方法はありますか?

ありがとうございました。

答えて

0

私はhttp://metacpan.org/pod/XML::FeedPPを通して見ましたが、link()メソッドでこれらのセッションIDをトリミングする方法はありませんでした。 (私は私のスクリプトの1つでXML :: FeedPPを使用していますが、解析しているサイトではセッションIDを使用しません)

私は答えがノーではないと考えています。著者に連絡するか、バグを報告することができます。

関連する問題