Как подписать HttpGet запрос? - PullRequest
0 голосов
/ 25 декабря 2018

Я всегда благодарен всем вам.

Я хочу проверить состояние своей учетной записи через Binance API

(https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#account-information-user_data) (см. «Информация об учетной записи (USER_DATA)»часть)

Я знаю, как отправить чистый HTTPGet-запрос, но не знаю, как его подписать.

мои коды выглядят следующим образом

    public static void wallet_status () throws NoSuchAlgorithmException, InvalidKeyException {
    //GET /api/v3/account (HMAC SHA256)

    String url = "https://api.binance.com/api/v3/account";

    //sign url
    Mac shaMac = Mac.getInstance("HmacSHA256");
    SecretKeySpec keySpec = new SecretKeySpec(BINANCE_SECRET_KEY.getBytes(), "HmacSHA256");
    shaMac.init(keySpec);       
    final byte[] macData = shaMac.doFinal(url.getBytes());
    String sign = Hex.encodeHexString(macData);

    HttpClient client = HttpClientBuilder.create().build();
    HttpGet request = new HttpGet("https://api.binance.com/api/v3/account");
    request.addHeader("timestamp", nonce);

    try {
        HttpResponse response = client.execute(request);
        HttpEntity entity = response.getEntity();

        if (entity != null) {
            try (InputStream stream = entity.getContent()) {
                BufferedReader reader =
                        new BufferedReader(new InputStreamReader(stream));
                String line;
                while ((line = reader.readLine()) != null) {
                      System.out.println(line);
                }
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

}

Я знаю, чтоэта часть должна быть изменена

HttpGet request = new HttpGet("https://api.binance.com/api/v3/account");

, пожалуйста, помогите.

...