我想在我的Android应用程序中使用HttpGet函数从BBC rss feed加载网页。当我从rss feed获取链接时,我使用
HttpGet request = new HttpGet(link);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try{
String response_str = client.execute(request, responseHandler);
textView.setText(response_str);
}
对于来自纽约时代的RSS提要,我可以在他们的网页中获取上下文,这意味着此功能至少适用于某些情况。但是,在BBC新案例中,我只得到一个像
这样的网页<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http:///www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns= "http:///www.w3.org/1999/xhtml"
xmlns:og="http://opengraphprotocal.org/schema." xml:lang="en-GB">
我想知道我需要处理的重定向情况还是什么?否则,如果此代码适用于某些网页而不适用于其他网页则会很奇怪。
感谢您的阅读。
答案 0 :(得分:0)
不确定您使用的是哪个网址,但以下代码适用于我:
final String feedURLStr = "http://feeds.bbci.co.uk/news/world/rss.xml?edition=uk#";
HttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet(feedURLStr);
ResponseHandler<String> handler = new BasicResponseHandler();
final String responseStr = client.execute(method, handler);
System.out.println(responseStr);
确定您使用的是有效的供稿网址(目前可以查看部分列表here)。
答案 1 :(得分:0)
本教程非常有助于您阅读rss feed请看一下这里。 http://www.ibm.com/developerworks/xml/tutorials/x-androidrss/