域名注冊查詢接口(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()
}