Ich habe die Yahoo Finance "API" mit dem unten stehenden Code für ein paar Wochen verwendet. Seit ungefähr einer Woche hat es aufgehört zu arbeiten. Wenn Sie diese Adresse eingeben: http://ichart.yahoo.com/table.csv?s=MSFT, erhalten Sie einige historische Daten für Microsoft (mein Browser lädt es automatisch herunter). Wenn ich versuche, es über Java zu lesen, wird der Stream anscheinend geöffnet (ich erhalte keine Ausnahme), der Stream enthält jedoch keine Daten. Wer weiß, warum der gepufferte Leser nicht in der Lage ist, das Objekt so zu streamen, wie es in den vergangenen Wochen möglich war? Ich vermute, dass Yahoo vielleicht ein Java-Skript hinzugefügt hat, um das automatische Herunterladen zu blockieren.Yahoo Finance API Java CSV herunterladen
URL url = new URL("http://ichart.yahoo.com/table.csv?s=" + symbol);
URLConnection hc = url.openConnection();
hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 4.10; rv:52.0) Gecko/20100101 Firefox/52.0");
BufferedReader in = new BufferedReader(new InputStreamReader(hc.getInputStream()));
br.readLine();
//Read File Line By Line
String strLine;
while ((strLine = br.readLine()) != null) {
System.out.println(strLine);
}
br.close();
Darf ich vorschlagen, dass Sie ein Tool wie Wireshark verwenden, um die tatsächliche Kommunikation zwischen Ihnen und Yahoo! Zu sehen. –