我正在尝试使用cryptsy.com的API来获取总帐的当前价格。这是我的代码。
package main;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import main.Cryptsy.CryptsyException;
import main.Cryptsy.PublicMarket;
public class Main {
public static void main (String [] args) throws CryptsyException, InterruptedException{
Cryptsy cryptsy = new Cryptsy();
while(true){
PublicMarket[] markets = cryptsy.getPublicMarketData();
for(PublicMarket market : markets) {
DecimalFormat df = new DecimalFormat("#.########");
if(market.label.equals("DOGE/BTC"))
System.out.println(new Date() + " " + market.label + " " + df.format(market.lasttradeprice));
}
TimeUnit.SECONDS.sleep(30);
}
}
}
问题是价格变得太后(30分钟或者其他)并且只有在我重新启动程序时才会更新。有谁知道如何获得当前价格?有时也会出现连接错误。
答案 0 :(得分:0)
实际上Cryptsy API的连接问题是正常的。它很慢,经常在没有答案的情况下断开连接。他们总是像过去一样拥挤不堪。
有一个新的API位置应该更快并解决连接问题,在这里:
http://pubapi.cryptsy.com/api.php?method=marketdatav2
而且,如果您只对一种货币感兴趣,您只能获得该货币的市场数据。 Cryptsy对所有货币的整个答案就像300k一样,所以如果你每隔一分钟左右进行一次调查就会浪费带宽。
只有一种货币就像:
http://pubapi.cryptsy.com/api.php?method=singlemarketdata&marketid= {MARKET ID}
可以在第一个URL的答案内收集市场ID。但是你只需要一次市场的int ID,从那时起你可以随时使用直接调用..
每个细节都是BTW: