· 8 years ago · Jan 16, 2018, 10:52 PM
1String secretKey = "value";
2 String apiKey = "value";
3 String nonce = String.valueOf(System.currentTimeMillis());
4 Mac sha512_HMAC = Mac.getInstance("HmacSHA512");
5 String message = nonce + apiKey;
6 SecretKeySpec sKey = new SecretKeySpec(secretKey.getBytes(), "HmacSHA512");
7 sha512_HMAC.init(sKey);
8 byte[] hash = sha512_HMAC.doFinal(message.getBytes());
9 String signature = DatatypeConverter.printHexBinary(hash).toUpperCase();
10
11 String POST_PARAMS = "KEY="+apiKey+"&SIGNATURE="+signature+"&NONCE="+nonce;
12 URL url = new URL("https://bitgrail.com/api/v1/balances");
13 HttpURLConnection con = (HttpURLConnection) url.openConnection();
14 con.setRequestMethod("POST");
15 con.setRequestProperty("User-Agent", USER_AGENT);
16
17 con.setDoOutput(true);
18 OutputStream os = con.getOutputStream();
19 os.write(POST_PARAMS.getBytes());
20 os.flush();
21 os.close();
22
23 int responseCode = con.getResponseCode();
24 System.out.println("POST Response Code :: " + responseCode);
25
26 if (responseCode == HttpURLConnection.HTTP_OK) {
27 BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
28 String inputLine;
29 StringBuffer response = new StringBuffer();
30
31 while ((inputLine = in.readLine()) != null) {
32 response.append(inputLine);
33 }
34 in.close();
35
36 // print result
37 System.out.println(response.toString());
38 } //if
39 else {
40 System.out.println("POST request not worked");
41 } //else
42
43POST Response Code :: 200
44{"success":0,"response":{"error":"Missing Key or Signature"}}