У меня проблема с отправкой HTTP Get request через Binance exchange.(Мне нужно вернуть статус моего кошелька)
в руководстве GitHub сказано, что (https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md)
Информация об учетной записи (USER_DATA)
GET / api / v3 / account (HMAC SHA256)
Получить информацию о текущем счете.
Вес: 5
Параметры:
Имя ТипОбязательное описание
recvWindow LONG NO
timestamp LONG YES
мои коды такие, как показано ниже
public static String timestamp = String.valueOf(System.currentTimeMillis());
public static void wallet_status () throws NoSuchAlgorithmException, InvalidKeyException {
String url = "https://api.binance.com/api/v3/account×tamp=" + timestamp;
//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"+"?timestamp="+timestamp+"?signature="+sign);
request.addHeader("X-MBX-APIKEY", BINANCE_API_KEY);
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();
}
} //end
ответ серверакак показано ниже
{"code": - 1100, "msg": "В параметре 'timestamp' обнаружены недопустимые символы; допустимый диапазон: '^ [0-9] {1,20} $'. "}
но моя временная метка String представляет собой 13-значную цифровую строку, которая не должна быть проблемой. Пожалуйста, помогите.