From a9a59f58bdff7604cb5f9c99a62f3daf9dbc79dd Mon Sep 17 00:00:00 2001 From: Athou Date: Sun, 31 Mar 2013 14:30:44 +0200 Subject: [PATCH] parse fetched result only if it's html --- .../commafeed/backend/feeds/FeedFetcher.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/commafeed/backend/feeds/FeedFetcher.java b/src/main/java/com/commafeed/backend/feeds/FeedFetcher.java index 6f38a1a9..9141f0b6 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedFetcher.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedFetcher.java @@ -59,17 +59,19 @@ public class FeedFetcher { } private String extractFeedUrl(String html) { + String foundUrl = null; + Document doc = Jsoup.parse(html); - Elements rss = doc.select("link[type=application/rss+xml]"); - Elements atom = doc.select("link[type=application/atom+xml]"); - - if (rss.size() > 0) { - return rss.get(0).attr("abs:href").toString(); - } else if (atom.size() > 0) { - return atom.get(0).attr("abs:href").toString(); - } else { - return null; + String root = doc.children().get(0).tagName(); + if ("html".equals(root)) { + Elements rss = doc.select("link[type=application/rss+xml]"); + Elements atom = doc.select("link[type=application/atom+xml]"); + if (!rss.isEmpty()) { + foundUrl = rss.get(0).attr("abs:href").toString(); + } else if (!atom.isEmpty()) { + foundUrl = atom.get(0).attr("abs:href").toString(); + } } + return foundUrl; } - }