私たちは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の動作を切り替える方法はありますか?
ありがとうございました。