java查詢域名是否可用第三方接口

1,後端代碼

 @RequestMapping(value = "/domainIsAvailable", method = RequestMethod.POST, produces = MediaType.TEXT_PLAIN_VALUE)
    public @ResponseBody
     String domainIsAvailable(String json){
        List<String> documentList  = new ArrayList<String>();
        List list= JSON.parseArray(json);
        if(!Util.isNvl(list)){
            for(int i=0; i<list.size(); i++){
              boolean result =  this.domainAvailable(list.get(i).toString());
              if(result==true){
                  documentList.add("<li class=\"yes\">" +
                          "<div class=\"lrbox1 f16\">"+list.get(i).toString()+"</div>" +
                          "<div class=\"lrbox1 jg\"><i class=\"iconfont icon-checkmarkcircle orange\"></i><i class=\"iconfont icon-roundclose green\"></i>恭喜你,此域名可以註冊!</div>" +
                          "</li>");
              }else{
                  documentList.add("<li class=\"no\">" +
                          "<div class=\"lrbox1 f16\">"+list.get(i).toString()+"</div>" +
                          "<div class=\"lrbox1 jg\"><i class=\"iconfont icon-checkmarkcircle orange\"></i><i class=\"iconfont icon-roundclose green\"></i>很抱歉,此域名已被註冊!</div>" +
                          "</li>");
              }
            }
        }
        return JSON.toJSONString(documentList);
    }


/**
     * 判斷一個域名是否已被註冊,用的萬網的接口
     * 這裏採用的單線程,因爲是免費的接口,所以線程過大容易被封IP
     * @param domain 待檢測域名,如:baidu.com
     * @return 是否可以註冊
     * */
    private boolean domainAvailable(String domain){
        boolean hasRegistered = false;  //該域名是否被註冊
        try {
            URL url = new URL("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + domain);
            java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(10000);  //毫秒
            connection.setReadTimeout(5000);

            InputStream inputStream = new BufferedInputStream(connection.getInputStream());

            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
            String line = "";  //每次讀取一行數據
            String reg = "<original>(.*?)</original>";  //正則
            while((line = reader.readLine()) != null){
                if(line.matches(reg)){
//                  System.out.println(line);
                    //只有兩種狀態,210表示可用,211表示不可用
                    String state = line.substring(10, 13);
                    if("211".equals(state)){
                        hasRegistered = false;
                    }else{
                        hasRegistered = true;
                    }
                }
            }

        }  catch (Exception e) {
            e.printStackTrace();
        }
        return hasRegistered;
    }


2,前端處理返回結果

 var param = {};
                    param['json'] = JSON2.stringify(userids);
                    $.ajax({
                        url: "<c:url value='/admin/domain/checkdomain'/>",
                        data : param,
                        datatype : "json",
                        type : "post",
                        success: function(data){
                            var bodyData="";
                            var jsondataA = JSON.parse(data.split(','));//把json轉成js
                            for(var w=0; w<jsondataA.length;w++){
                                bodyData+=jsondataA[w];
                            }

                            layer.open({
                                type: 1,
                                title: '你想要的標題',
                                maxmin: true,
                                shadeClose: true, //點擊遮罩關閉層
                                area : ['620px' , '400px'],
                                content:
                                '<div class="searchdomainnamejieguo clearfix"><ul> <li class="titbg"> <div class="lrbox1">名稱</div> <div class="lrbox1">狀態</div> </li> </ul>'+
                                    '<ul>'+
                                    bodyData
                                    +'</ul>'
                                    +'</div>'+
                                 '<div class="text_center gray main_top2">;聯繫我們</div>'
                            });
                        }
                    });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章