一直想尋找一個免費不限頻率的網域名稱查詢介面,網上找了很久都沒找到,最後乾脆自己寫一個網域名稱尋找介面,原理是直接用PHP尋找該網域名稱的whois資訊,但直接尋找whois太慢,就想先尋找該網域名稱的NS記錄,如果有NS記錄的話這個網域名稱就已經註冊了,這樣理論上應該要快一些,這種思路對嗎?
現在我用php的dns_get_record查詢網域名稱dns資訊,但這速度真的不敢恭維哈,試了很多網域名稱,基本上平均查詢時間都在一分鐘以上!有好幾次都掛掉了,完全不像網上網域名稱註冊商那樣快,手上沒有美國的主機,想問一下,如果在美國主機上運行dns_get_record是不是會快一些?
回複內容:
一直想尋找一個免費不限頻率的網域名稱查詢介面,網上找了很久都沒找到,最後乾脆自己寫一個網域名稱尋找介面,原理是直接用PHP尋找該網域名稱的whois資訊,但直接尋找whois太慢,就想先尋找該網域名稱的NS記錄,如果有NS記錄的話這個網域名稱就已經註冊了,這樣理論上應該要快一些,這種思路對嗎?
現在我用php的dns_get_record查詢網域名稱dns資訊,但這速度真的不敢恭維哈,試了很多網域名稱,基本上平均查詢時間都在一分鐘以上!有好幾次都掛掉了,完全不像網上網域名稱註冊商那樣快,手上沒有美國的主機,想問一下,如果在美國主機上運行dns_get_record是不是會快一些?
剛剛測試了alexa top 500網域名稱,最大耗時12.2S,最小不到0.001S.
同時事先我清空了原生DNS緩衝.
可以這麼實現,因為每個網域名稱至少等包含一條NS記錄。
速度慢是你機器的原因,我在本機測試最多不超過3S.
擷取一條後在一段時間內會存在緩衝,我想你可以修改原生DNS伺服器看看能否有改善
$start=microtime(true);$domain='segmentfault.com';$rs=dns_get_record(strtolower($domain),DNS_NS);print_r($rs);$end=microtime(true);echo $end-$start;