如何从网上读取欧洲央行货币汇率?

时间:2019-02-02 22:41:40

标签: java

过去,类似下面的类似代码很好地用于从银行的XML数据中获取一两个汇率,而无需应用XML解析器的开销。

但是,现在的字符读似乎什么都没有做与URL,虽然在我的浏览器中输入网址时,页面看起来仍然不错。

String adr = "http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml";

try {
    URL url = new URL(adr);
    InputStream in = url.openStream();
    byte[] b = new byte[1024];
    int l = 0;

    while ((l = in.read(b)) != -1) {
        String s = new String(b, 0, l);
        System.out.println(l);
        System.out.println(s);
    }

    in.close();
} catch (MalformedURLException e) {
    System.out.println(e);
} catch (IOException e) {
    System.out.println(e);
}

发生了什么,我必须怎么做才能获取xml数据?

1 个答案:

答案 0 :(得分:2)

页面已移动-使用https网址(“ https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml”)

顺便说一句,为什么您要以如此复杂的方式读取URL?使用RestTemplate:

    RestTemplate restTemplate = new RestTemplate();
    String url = "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml";
    ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);

    System.out.println(response.getBody());