@Override
    public String queryMaster(String url) {
        log.info("start to request {}", url);

        if (!isValidURL(url)) {
            log.error("Invalid URL: {}", url);
            return gson.toJson(TubeMQResult.errorResult("Invalid URL."));
        }

        HttpGet httpGet = new HttpGet(url);
        TubeMQResult defaultResult = new TubeMQResult();
        try (CloseableHttpResponse response = httpclient.execute(httpGet)) {
            // If the redirected URL is different from the original URL, perform further validation
            String redirectedUrl = response.getHeaders("Location")[0].getValue();
            if (!url.equals(redirectedUrl) && !isValidURL(redirectedUrl)) {
                log.error("Invalid redirected URL: {}", redirectedUrl);
                return gson.toJson(TubeMQResult.errorResult("Invalid redirected URL."));
            }

            // return result json to response
            return EntityUtils.toString(response.getEntity());
        } catch (Exception ex) {
            log.error("exception caught while requesting broker status", ex);
            defaultResult.setErrCode(-1);
            defaultResult.setResult(false);
            defaultResult.setErrMsg(ex.getMessage());
            return gson.toJson(defaultResult);
        }
    }
query master to get node info

@param url
@return query info
inlong-tubemq/tubemq-manager/src/main/java/org/apache/inlong/tubemq/manager/service/MasterServiceImpl.java