标签:
一 通过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(); } } |
标签:
原文地址:http://www.cnblogs.com/jinshiyill/p/4994990.html