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

标签 java android xml gzip

整天被这个问题困扰,一直在尝试从这个网站检索 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/

相关文章:

java - 显示图像而不在 xml 中指定 src

xml - 如何使用 SPARQL 查询两个事物之间的距离

java - 查找包含空(非空定义)字符串的下一个位置的索引

java - Android Studio或Eclipse使用Maven/Gradle

java - 奇怪的 JFrame 大小

java - 在android中通过php检索Json数据?

Java模块通信

java - MediaMetadataRetriever.setDataSource( native 方法)导致 RuntimeException : status = 0xFFFFFFEA

android - 如何以编程方式设置 ConstraintLayout 的 XML 属性 'layout_constrainedWidth'?

xml - XPath,如何基于具有属性依赖关系的2种条件选择节点