Java SDK 示例
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.util.HashMap;
import java.util.Map;
import java.util.StringJoiner;
public class TCZKApi {
private final String baseUrl;
private final String id;
private final String secret;
public TCZKApi(String baseUrl, String id, String secret) {
this.baseUrl = baseUrl.replaceAll("/$", "");
this.id = id;
this.secret = secret;
}
/**
* 生成签名
*/
private String makeSign(String times) throws Exception {
String signStr = "id=" + id + "&secret=" + secret + "×=" + times;
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] digest = md.digest(signStr.getBytes("UTF-8"));
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02X", b));
}
return sb.toString();
}
/**
* 发送GET请求
*/
private String get(String endpoint, Map<String, String> params) throws Exception {
String times = String.valueOf(System.currentTimeMillis() / 1000);
String sign = makeSign(times);
if (params == null) {
params = new HashMap<>();
}
params.put("id", id);
params.put("times", times);
params.put("sign", sign);
StringJoiner sj = new StringJoiner("&");
for (Map.Entry<String, String> entry : params.entrySet()) {
sj.add(URLEncoder.encode(entry.getKey(), "UTF-8") + "=" +
URLEncoder.encode(entry.getValue(), "UTF-8"));
}
URL url = new URL(baseUrl + endpoint + "?" + sj.toString());
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream(), "UTF-8")
);
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
return response.toString();
}
// 查询余额
public String getBalance() throws Exception {
return get("/hdiot/api/v1/agentapi/user", null);
}
// 查询流量
public String getFlow(String cardno) throws Exception {
Map<String, String> params = new HashMap<>();
params.put("cardno", cardno);
return get("/hdiot/api/v1/agentapi/flow", params);
}
// 查询实名信息
public String getRealName(String cardno) throws Exception {
Map<String, String> params = new HashMap<>();
params.put("cardno", cardno);
return get("/hdiot/api/v1/agentapi/getcertinfo", params);
}
// 卡板停机
public String stop(String cardno) throws Exception {
Map<String, String> params = new HashMap<>();
params.put("cardno", cardno);
return get("/hdiot/api/v1/agentapi/stop", params);
}
// 卡板复机
public String start(String cardno) throws Exception {
Map<String, String> params = new HashMap<>();
params.put("cardno", cardno);
return get("/hdiot/api/v1/agentapi/start", params);
}
// 卡板刷新
public String refresh(String cardno) throws Exception {
Map<String, String> params = new HashMap<>();
params.put("cardno", cardno);
return get("/hdiot/api/v1/agentapi/refresh", params);
}
// 订购套餐
public String order(String cardno, String packageId, String orderno, int iseffect) throws Exception {
Map<String, String> params = new HashMap<>();
params.put("cardno", cardno);
params.put("packagelist_id", packageId);
params.put("orderno", orderno);
params.put("iseffect", String.valueOf(iseffect));
return get("/hdiot/api/v1/agentapi/order", params);
}
public static void main(String[] args) {
try {
TCZKApi api = new TCZKApi(
"http://your-api-server.com",
"your-agent-id",
"your-agent-secret"
);
// 查询余额
System.out.println("余额: " + api.getBalance());
// 查询流量
System.out.println("流量: " + api.getFlow("card-number"));
// 查询实名
System.out.println("实名: " + api.getRealName("card-number"));
// 停机
System.out.println("停机: " + api.stop("card-number"));
// 复机
System.out.println("复机: " + api.start("card-number"));
// 订购套餐
System.out.println("订购: " + api.order("card-number", "package-id", "order-no", 0));
} catch (Exception e) {
e.printStackTrace();
}
}
}