简单的货币观察员

时间:2014-01-20 01:24:14

标签: api web

我正在尝试使用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分钟或者其他)并且只有在我重新启动程序时才会更新。有谁知道如何获得当前价格?有时也会出现连接错误。

1 个答案:

答案 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:

https://www.cryptsy.com/pages/api