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(10, 13); 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(); } } |

浙公网安备 33010602011771号