Android奇怪的URL抓取

Android奇怪的URL抓取,android,urlfetch,Android,Urlfetch,我这里有个奇怪的问题。下面是我用来获取url内容的代码: URL u = new URL(url); InputStream is = new BufferedInputStream(u.openStream()); 我有两个URL,我想用这段代码获取。两者都包含xml数据。具体来说,第一个是http://www.berlingske.dk/unwire/latest/news_article/2/10,第二个是http://www.bt.dk/mecommobile/latest/news_

我这里有个奇怪的问题。下面是我用来获取url内容的代码:

URL u = new URL(url);
InputStream is = new BufferedInputStream(u.openStream());

我有两个URL,我想用这段代码获取。两者都包含xml数据。具体来说,第一个是
http://www.berlingske.dk/unwire/latest/news_article/2/10
,第二个是
http://www.bt.dk/mecommobile/latest/news_article/1368/10?output_type=xml
。第一个正确获取,第二个不正确。我添加了一些日志记录,发现对于第二个url,获取了一些奇怪的html页面,而不是预期的xml。这怎么可能呢?

我想你说的是URL重定向,这是我遇到的一个问题。请尝试以下代码:

URL url = new URL(url);
HttpURLConnection ucon = (HttpURLConnection) url.openConnection();
ucon.setInstanceFollowRedirects(false);
URL secondURL = new URL(ucon.getHeaderField("Location"));
URLConnection conn = secondURL.openConnection();
InputStream is = new BufferedInputStream(conn.openStream());
这里的“魔力”发生在以下两个步骤中:

ucon.setInstanceFollowRedirects(false);
URL secondURL = new URL(ucon.getHeaderField("Location"));
默认情况下,InstanceFlowRedirects设置为true,但您希望将其设置为false以捕获第二个url。为了能够从“怪异的html页面”中获取第二个url,您需要获取名为“Location”的标题字段

除非我误解了你的问题,我希望这有帮助