Используя SUN Syndication API ROME, Я пытаюсь разобрать следующий канал RSS:
http://news.yahoo.com/rss/world;_ylt=AmPejPeRK0mzDzsOSrANm125scB_;_ylu=X3oDMTFqbTQ3ajl2BG1pdANSU1MgU2l0ZUluZGV4IFdvcmxkBHBvcwM0BHNlYwNNZWRpYVJTU0VkaXRvcmlhbA--;_ylg=X3oDMTFrM25vcXFyBGludGwDdXMEbGFuZwNlbi11cwRwc3RhaWQDBHBzdGNhdAMEcHQDc2VjdGlvbnMEdGVzdAM-;_ylv=3
следующий код для этого:
import java.net.URL; import com.sun.syndication.feed.synd.SyndFeed; import com.sun.syndication.io.SyndFeedInput; import com.sun.syndication.io.XmlReader; public class Test { public static void main(String[] args) { URL url; XmlReader reader = null; SyndFeed feed; try { url = new URL( "http://news.yahoo.com/rss/world;_ylt=AmPejPeRK0mzDzsOSrANm125scB_;_ylu=X3oDMTFqbTQ3ajl2BG1p dANSU1MgU2l0ZUluZGV4IFdvcmxkBHBvcwM0BHNlYwNNZWRpYVJTU0VkaXRvcmlhbA-- ;_ylg=X3oDMTFrM25vcXFyBGludGwDdXMEbGFuZwNlbi11cwRwc3RhaWQDBHBzdGNhdAMEcHQDc2VjdGlvbnMEdGVzdA M-;_ylv=3"); reader = new XmlReader(url); feed = new SyndFeedInput().build(reader); } catch (Exception e) { e.printStackTrace(); } } }
Я получаю следующее исключение:
java.io.FileNotFoundException: http://localhost/world/?format=rss at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1401) at com.sun.syndication.io.XmlReader.<init>(XmlReader.java:237) at com.sun.syndication.io.XmlReader.<init>(XmlReader.java:213) at Test.main(Test.java:20)
Это происходит при ответе 404, поскольку я могу вывести в классе HTTPUrlConnection, есть ли обходной путь для такого рода проблемы?
Эта проблема только с этим конкретным URL, есть ли у кого-нибудь идеи о том, как преодолеть эту проблему?