配置已保存

博士系统调试面板

物联网卡 OpenAPI 接口测试工具

v1.0.0

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=" + 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(); } } }