實時微信域名檢測API接口的實現方式

應用場景
最近我們剛成立了一個項目,在微信推廣中,域名時不時的就被微信攔截,這使我們都非常頭大,這時我翻閱互聯網上所有的資料,知道有微信域名檢測這樣一個API接口,問了身邊做技術的朋友,朋友也說需要一這微信域名檢測這樣的API接口,實時檢測域名在微信裏是否可以打開,如果被微信攔截,則需要進行下一步操作,所以需要判斷域名的狀態,但是微信官方並沒有提供相關查詢的方法,最後在網上找到了這個接口地址,分享給有需要的朋友。
檢測樣式:http://api.monkeyapi.com?appkey={appkey}&url=www.baidu.com
舉例說明:如果需要檢測123.com,就把www.baidu.com 換成123.com,這裏面appkey是需要獲取的,此時就可以實時檢測域名啦,值得一提的是,這裏被檢測的對象可以是域名,也可以是鏈接,還可以是帶參數的鏈接,我讓我覺得特別了不起。

這裏分析下域名被封常見原因,域名被封,確實有很多因素,簡單列舉下:

1、購買的域名有黑歷史,曾經進過小黑屋,這類則是風險名單中的重點檢測對象!

2、qq和微信是2種完全不同的檢測機制,經常會出現一邊被封另一邊沒事!

3、網站流量過大,騰訊針對流量過大的網站也是重點檢測的對象!

4、誘導轉發活動,即使是合法營銷,也會被封!

5、 正文、標題、圖片任意有一處有一點點違規信息,被系統抓取到也是會被封禁!

6、人工舉報,這個也佔有一定的比例!

7、有的是封鏈接不封域名,因爲是騰訊合作的第三方平臺,京東、拼多多、有贊等等

8、 服務器 IP是一個很重點檢測!

9、對於明顯特徵或複用度高的違規圖片,系統是能識別的!

將api接口地址中的url鏈接換成需要檢測的網址即可

最後分享下PHP代碼實現示例:

$url = "http://api.monkeyapi.com";
$params = array(
'appkey' =>'appkey',//您申請的APPKEY
'url' =>'www.monkeyapi.com',//需要查詢的網站
);

$paramstring = http_build_query($params);
$content = Curl($url, $paramstring);
$result = json_decode($content, true);
if($result) {
    var_dump($result);
}else {
    //請求異常
}

/**
    * 請求接口返回內容
    * @param    string $url [請求的URL地址]
    * @param    string $params [請求的參數]
    * @param    int $ipost [是否採用POST形式]
    * @return    string
*/
function Curl($url, $params = false, $ispost = 0)
{
    $httpInfo = array();
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    if ($ispost) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_URL, $url);
    }else {
        if ($params) {
            curl_setopt($ch, CURLOPT_URL, $url.'?'.$params);
        } else {
            curl_setopt($ch, CURLOPT_URL, $url);
        }
    }

    $response = curl_exec($ch);
        if ($response === FALSE) {
        //echo "cURL Error: " . curl_error($ch);
        return false;
    }

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $response;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章