版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26917447/article/details/81295414
1.pom加入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
2..service类
public class BitCoinService {
private static final Logger logger = LoggerFactory.getLogger(BitCoinService.class);
//钱包地址
private String bitCoinUrl;
//钱包验证 用户名
private String userName;
//钱包验证 用户密码
private String passwd;
/**
* 不带参命令
* @param command 命令字符串
* @return
* @throws Exception
*/
public String executeCommand(String command) throws Exception {
String cmd = BitCmdUtil.getCommand(command);
CloseableHttpClient httpClient = HttpClientServiceUtil.getCloseableClient();
HttpPost post = HttpPostUtil.getHttpPost(bitCoinUrl, userName + ":" + passwd, cmd);
CloseableHttpResponse res = httpClient.execute(post);
logger.info(" getStatusCode is " +res.getStatusLine().getStatusCode());
if (200 == res.getStatusLine().getStatusCode()) {
return EntityUtils.toString(res.getEntity(), "utf-8");
} else {
logger.error(EntityUtils.toString(res.getEntity(), "utf-8"));
throw new Exception("访问异常!");
}
}
/**
* 带参命令
*/
public String executeCommand(String command, List<Object> params) throws Exception {
logger.info(" command is " +command);
String cmd = BitCmdUtil.getCommand(command, params);
CloseableHttpClient httpClient = HttpClientServiceUtil.getCloseableClient();
HttpPost post = HttpPostUtil.getHttpPost(bitCoinUrl, userName + ":" + passwd, cmd);
CloseableHttpResponse res = httpClient.execute(post);
logger.info(" getStatusCode is " +res.getStatusLine().getStatusCode());
if (200 == res.getStatusLine().getStatusCode()) {
return EntityUtils.toString(res.getEntity(), "utf-8");
} else {
logger.error(EntityUtils.toString(res.getEntity(), "utf-8"));
throw new Exception("访问异常!");
}
}
public void setBitCoinUrl(String bitCoinUrl) {
this.bitCoinUrl = bitCoinUrl;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
3.Util类
public class BitCmdUtil {
private static final Logger logger = LoggerFactory.getLogger(BitCmdUtil.class);
//输入参数
private static String jsonrpc ="1.0";
private static String id ="1";
// private static String method;
private static List<Object> params;
/**
* 获取命令字符窜
* @param method 命令方法
* @return
*/
public static String getCommand(String method) {
return getCommand( method, params) ;
}
/**
* 获取命令字符窜
* @param method method 命令方法
* @param params List参数
* @return
*/
public static String getCommand(String method,List<Object> params) {
return getCommand( method,params, jsonrpc, id);
}
public static String getCommand(String method,List<Object> params,String jsonrpc,String id) {
JSONObject commandJson = new JSONObject();
commandJson.put("jsonrpc", jsonrpc);
commandJson.put("id", id);
commandJson.put("method", method);
JSONArray paramsArray = new JSONArray();
if (null != params && params.size() >0) {
paramsArray.addAll(params);
}
commandJson.put("params", paramsArray);
logger.info( commandJson.toString() );
return commandJson.toString();
}
}