gpt4 book ai didi

Java Android XML解析,无法连接网站?

转载 作者:行者123 更新时间:2023-12-01 05:39:08 25 4
gpt4 key购买 nike

整天被这个问题困扰,一直在尝试从这个网站检索 XML:

http://www.teamliquid.net/video/streams/?xml=1&filter=live

但我就是无法连接,我可以通过谷歌等找到连接到它,但是当我尝试使用 XML 解析通过模拟器连接时,它不起作用。但我可以连接到 Google 天气等..

如果您想使用 XML 文档,请注意以下内容:

考虑抓取此页面以获取流数据吗?请改用我们的 XML feed:http://www.teamliquid.net/video/streams?xml=1&filter=live

需要 gzip 编码,还请发送一个有效的用户代理,其中包含您的应用程序/站点的名称和联系信息。此页面和 XML 每五分钟更新一次,请不要轮询频率超过每五分钟,否则您可能面临 IP 被封禁的风险。如果您有任何疑问,请PM R1CH。

所以我尝试了两种方法,第一个代码示例,使用 XMLReader:

private void DownloadXML()
{
URL website;
try{
website = new URL("http://www.teamliquid.net/video/streams/?xml=1&filter=live");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
rp = new RetrievePlayers();
xr.setContentHandler(rp);
xr.parse(new InputSource(website.openStream()));


}catch(Exception e) {
setText(""+e);
}
}

第二个示例,使用 GZIPInputStream,似乎说明了有关 GZIP 加密的内容。

private void DownloadXML()
{
InputStream in = null;
GZIPInputStream gin = null;
URL website;
try{
website = new URL("http://www.teamliquid.net/video/streams/?xml=1&filter=live");
in = website.openStream();
gin = new GZIPInputStream(in);

BufferedReader reader = new BufferedReader(new InputStreamReader(gin));

setText(reader.readLine());

}catch(Exception e) {
setText(""+e);
}
}

这两个代码都会生成 java.io.Exception.FileNotFoundException为什么我拿不到?我可以使用 Google chrome 查看 XML 文件:>

抱歉,我对 XML 还很陌生,只花了 2 天的时间来使用它:/

最佳答案

我就是那个人,难道你的 list 中没有设置互联网权限吗?我的意思是,您正在从网站进行解析,因此如果您没有访问网络的权限,那么您将不会获得解析响应。

只是一个理论,我正在努力帮助您解决问题:)

关于Java Android XML解析,无法连接网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com