域名注册查询接口(API)的说明
域名查询
接口采用HTTP,POST,GET协议:
调用URL:http://panda.www.net.cn/cgi-bin/check.cgi
参数名称:area_domain 值为标准域名,例:hichina.com
调用举例:http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=hichina.com
返回XML:
HTML代码<?xml version="1.0" encoding="gb2312"?><property> <returncode>200</returncode><key>2zher3r3r.com</key> <original>210 : Domain name is available</original> </property>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
返回 XML 结果说明:
returncode=200 表示接口返回成功
key=***.com表示当前check的域名
original=210 : Domain name is available 表示域名可以注册
original=211 : Domain name is not available 表示域名已经注册
original=212 : Domain name is invalid 表示域名参数传输错误
域名信息whois
接口采用HTTP,POST,GET协议:
调用URL: http://whois.hichina.com/cgi-bin/whois
参数名称:domain 值为标准域名,例:hichina.com
调用举例: http://whois.hichina.com/cgi-bin/whois?domain=hichina.com
返回文本:其中在字符《pre》与字符《/pre》之间即为域名信息内容。
源码
package main
import (
"fmt"
"github.com/gpmgo/gopm/modules/log"
"io/ioutil"
"net/http"
"strings"
"time"
)
func checkdoman(url string) (bool) {
client := http.Client{}
resp, err := client.Get("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + url)
if err != nil {
log.Debug("err:%v", err)
return false
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
if strings.Contains(string(body), "210 : Domain name is available") {
fmt.Println(url)
return true
} else {
return false
}
}
func Check4dight() {
CharStr := "0123456789abcdefghijklmnopqrstuvwxyz"
for i := 3; i < len(CharStr); i++ {
for n := 14; n < len(CharStr); n++ {
for m := 23; m < len(CharStr); m++ {
for j := 9; j < len(CharStr); j++ {
domain := fmt.Sprintf("%c%c%c%c.com", CharStr[i], CharStr[n], CharStr[m], CharStr[j])
t := time.NewTicker(time.Millisecond * 200)
<-t.C
go checkdoman(domain)
}
}
}
}
}
func main() {
Check4dight()
}