最新微信域名檢測api介面的機制原理及對接方法

luojing0417發表於2021-05-19

前段時間運營部反映域名時不時被微信遮蔽,頁面顯示:停止訪問該頁面!作為一名程式猿,打算寫個域名檢測程式,在推廣檢測微信域名是否被封,減少流量流失,降低造成的損失。


先分析出被微信攔截原理

1、域名存在黑歷史,加入了微信域名黑名單

2、微信和qq風控機制不同,列出微信中被攔截或遮蔽敏感詞並規避

3、網站流量大會引起微信注意

4、存在關注、誘導等誘導行為連結,即便是合法營銷,也會被封

5、正文、標題、圖片檢測出存在違規資訊,那怕有一點也算

6、大量使用者舉報,幸運一點連結能再次恢復訪問

7、有部分域名是封連結不封域名,例如:京東、拼多多等

8、對於明顯特徵或複用度高的敏感圖片

9、伺服器ip被封


檢測介面獲取思路

1、瀏覽器模擬微信登入

透過瀏覽器模擬微信進行獲取介面,登入微信網頁版f12獲取介面,還沒找到微訊號就被封了。


2、抓包軟體獲取微信介面

是我想的太簡單了!


3、VB語言寫出現被微信攔截介面

可以是可以,但慢的要死!


4、微信公眾號介面做判斷

回到最初我的想法:羊毛出在羊身上。但這次我是用公眾號,原理是這樣的:將連結建立為 微信短連結 - 請求你的短連結 - 判斷獲取回來的頁面,結果是可以檢測出域名狀態,不過 公眾號介面限制了呼叫次數


5、直接趴取現場介面呼叫

作為一名程式猿,直接趴取來的介面,免費擼到的介面,再對接到我寫的php程式上,檢測速度很快同時還不限制呼叫次數!

介面地址: http://api.new.urlzt.com/api/qq
請求方式: GET/POST
請求示例: http://api.new.urlzt.com/api/qq?token=Token值(後臺生成獲取)&url=
後臺地址:


對接微信域名檢測介面PHP程式

開啟Pycharm,程式碼複製上去,執行!
$url = "
$params = array(
'Token值' =>'appkey',//您申請的Token值
'url' =>'www.qq.com',//您需要檢測的域名
);
 
$paramstring = http_build_query($params);
$content = monkeyCurl($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 monkeyCurl($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;
}





















來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69993190/viewspace-2773000/,如需轉載,請註明出處,否則將追究法律責任。

相關文章