过去,类似下面的类似代码很好地用于从银行的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数据?
答案 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());