java判断域名是否已被注册

一  通过Get请求验证域名是否已被注册

 

万网提供了一个免费的接口来查询域名是否已被注册,http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=域名

比如说我们在浏览器中输入:http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=aliyun.com

最后返回:

1
2
3
4
5
6
<?xml version="1.0" encoding="gb2312"?>
<property>
<returncode>200</returncode>
<key>aliyun.com</key>
<original>211 : Domain exists</original>
</property>

 

<original>211 : Domain exists</original> 这一行中的211就是我们判断一个域名是否注册的关键所在了。通过这个接口进行查询,在这里只会返回两种状态,210或者211,210表示可以使用,211则是已经被注册了

 

比如我们查询:http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=aliyunbaidu.com

最后返回:

1
2
3
4
5
6
<?xml version="1.0" encoding="gb2312"?>
<property>
<returncode>200</returncode>
<key>aliyunbaidu.com</key>
<original>210 : Domain name is available</original>
</property>

可以看出,aliyunbaidu.com这个域名还没有被注册

 

下面开始贴代码,一些关键的地方已经有注释了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
     * 判断一个域名是否已被注册,用的万网的接口
     * 这里采用的单线程,因为是免费的接口,所以线程过大容易被封IP
     * @param domain 待检测域名,如:baidu.com
     * @return 是否可以注册
     * */
    public boolean domainIsAvailable(String domain){
        boolean isAvailable = false;  //该域名是否可用
        try {
            URL url = new URL("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + domain);
            HttpURLConnection connection = (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(1013);
                    if("210".equals(state))
                        isAvailable = true;                  
                }
            }
             
        }  catch (IOException e) {
            e.printStackTrace();
        }      
        return isAvailable;
    }

java培训机构排名下面进行实例调用:

1
2
3
4
String domain = "aliyunbaidu.com";
Test test = new Test();
boolean check = test.domainIsAvailable(domain);
System.out.println(domain + " 是否可用:" + check);

返回结果如下:

aliyunbaidu.com 是否可用:true

 

二 Post请求简单实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
     * POST请求测试
     * */
    public void POSTTest(){
        try {
            URL url = new URL("http://localhost:8080/Demo/jsp/show_get");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type""application/x-www-form-urlencoded");
            connection.setDoOutput(true);  //这里因为post请求有数据传输,一定要是true
            connection.setDoInput(true);
            connection.setUseCaches(false);
             
            String str = "str=aaavc";
            OutputStream outputStream = connection.getOutputStream();
            outputStream.write(str.getBytes("UTF-8"));
            outputStream.flush();
            outputStream.close();
             
            System.out.println(connection.getResponseCode());
            if(connection.getResponseCode() == 200){
                InputStream inputStream = connection.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                StringBuffer stringBuffer = new StringBuffer();
                String line = "";
                while((line = reader.readLine()) != null){
                    stringBuffer.append(line + "\n");
                }
                System.out.println(stringBuffer.toString());
                 
            }
                     
        catch (MalformedURLException e) {
            e.printStackTrace();
        catch (IOException e) {
            e.printStackTrace();
        }
    }
posted @ 2015-11-25 16:09  jinshiyill  阅读(687)  评论(0编辑  收藏  举报