域名注册查询接口(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 mainimport ("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.Cgo checkdoman(domain)}}}}
}func main() {Check4dight()
}