2016-07-06 44 views

回答

2

你不需要api, 你可以用DNS查詢來檢查域名是否真的存在。

PHP checkdnsrr - 檢查與給定的互聯網主機名或IP地址域檢查的

例如DNS記錄:

<?php 
function validate_domain($domain){ 

     //Check the DNS if the domain has an MX record 
     if(checkdnsrr($domain,"MX")){ 
     return true; 
     }else{ 
     return false; 
     } 
} 
?> 

具有reg EXP電子郵件驗證的例子+ DNS查詢

<?php 
function validate_email($email){ 

    $exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$"; 

    if(eregi($exp,$email)){ 

     if(checkdnsrr(array_pop(explode("@",$email)),"MX")){ 
     return true; 
     }else{ 
     return false; 
     } 

    }else{ 

     return false; 
    }  
} 
?> 

ref:http://php.net/manual/en/function.checkdnsrr.php

+0

那麼我會如何實現呢? – Jez

+0

調用validate_domain(「doaminname.com」),如果域名真的存在,你就成立了 –

+1

別擔心,我把它從函數中拿出來,並使用if(checkdnsrr($ domain,「MX」))。謝謝。 – Jez

0

您可以使用這兩個功能來檢查網站是否有效

function is_website_valid() { 
    if ($headers && (@$headers[0]=='HTTP/1.0 404 Not Found' || @$headers[1]=='HTTP/1.0 404 Not Found')) { 
     return 'invalid'; 
    } 
    elseif (!is_array($headers)) { 
     return 'invalid'; 
    } 
    else { 
     return 'valid'; 
    } 
} 
function get_website_headers($website) { 
    ini_set("user_agent", "Mozilla custom agent"); 
    $headers = get_headers($website, 1); 
    return $headers; 
} 
$status = array('website'=>$website,'status'=>is_website_valid()); 
echo json_encode($status); 
+0

而我將如何實施它們? – Jez

+0

你可以把你實施的相同,所以我可以幫助你 –