public static void main(String[] args) {
        Map<String, String> inParamMap = new HashMap<>();
        inParamMap.put("topicName", "test_1");
        inParamMap.put("brokerId", "170399798");
        String masterAddr = "127.0.0.1:8082,127.0.0.1:8080";
        // build visit object
        MasterInfo masterInfo = new MasterInfo(masterAddr.trim());
        JsonObject jsonRes = null;
        // call master nodes
        for (String address : masterInfo.getNodeHostPortList()) {
            String visitUrl = "http://" + address
                    + "/webapi.htm?method=admin_query_topic_info";
            try {
                jsonRes = HttpUtils.requestWebService(visitUrl, inParamMap);
                if (jsonRes != null) {
                    // if get data, break cycle
                    break;
                }
            } catch (Throwable e) {
                //
            }
        }
        // process result
        if (jsonRes != null) {
            System.out.println("query result is " + jsonRes.toString());
        }
    }
Test scenario:
    simulate where there are multiple Master nodes in the cluster,
     and there are nodes that do not take effect
Call url:
   http://127.0.0.1:8080/webapi.htm?method=admin_query_topic_info
Request parameters:
   topicName=test_1, brokerId=170399798
Master nodes:
   127.0.0.1:8082(invalid node),127.0.0.1:8080(valid node)

@param args   the call arguments
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/utils/HttpUtils.java