微信域名防封檢測的技術原理及實現方式

mkapi01發表於2020-06-18

微信域名防封主要是透過技術手段來實現預防措施,網路上的什麼不死域名完全是無稽之談,沒有哪家是可以做到完全防封的。


所以主要的還是讓自己的域名推廣效果更好一點,別被封了都不知道,以至於損失慘重。

想要繼續在微信中做推廣,做好域名防封工作是非常有必要的,否則域名一旦被封,自己卻未能及時知曉,從而得不到及時處理,損失可想而知。


由此可見,做微信推廣,一個能實時檢測域名是否被微信遮蔽攔截的 API 介面是絕對必不可少的。

下面就簡單介紹一下微信域名防封檢測的技術原理及實現方式


原理

使用   Wireshark   抓包獲取微信的域名攔截查詢介面。

域名有如下幾種狀態:

  • 域名能正常訪問(未被微信攔截)
  • 域名被微信攔截
    • 非微信官方網頁,繼續訪問將轉換成手機預覽模式(在公眾號後臺把域名新增到業務域名一般能解決這個問題)
    • 據使用者投訴及騰訊安全網址安全中心檢測,該網頁包含惡意欺詐內容,為維護綠色上網環境,已停止訪問
    • 網頁包含誘導分享、關注等誘導行為內容,被多人投訴,為維護綠色上網環境,已停止訪問

Demo

PHP

<?php

// 您的 API Token ,在使用者中心可查詢到

$apiToken = "********************************" ;

// 需要檢測的地址或域名

$reqUrl = "www.qq.com" ;

$url = sprintf( "%s&req_url=%s" , $apiToken, $reqUrl);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );

curl_setopt($ch, CURLOPT_BINARYTRANSFER, true );

$responseBody = curl_exec($ch);

$responseArr = json_decode($responseBody, true );

if (json_last_error() != JSON_ERROR_NONE) {

    echo "JSON 解析介面結果出錯 \n" ;

    return ;

}

if ( isset ($responseArr[ 'code' ]) && $responseArr[ 'code' ] == 0 ) {

    // 介面正確返回

    // $responseArr['data']['status'] 的取值範圍: ok blocked

    // ok 表示正常、 blocked 表示被封

    printf( " 測試地址( %s )的狀態為: %s\n" , $reqUrl, $responseArr[ 'data' ][ 'status' ]);

} else {

    printf( " 介面異常: %s\n" , var_export($responseArr, true ));

}

Python

# -*- coding: utf-8 -*-

 

import json, urllib

from urllib import urlencode

 

def main ():

    # 您的 API Token ,在使用者中心可查詢到

    apiToken = "*********************"

 

    url = "

    params = {

        "req_url" : "www.qq.com" , # 需要檢測的地址或域名

        "api_token" : apiToken,

 

    }

    params = urlencode(params)

    f = urllib.urlopen( "%s?%s" % (url, params))

 

    content = f.read()

    res = json.loads(content)

    if res:

        code = res[ "code" ]

        if code == 0 :

            # 成功請求

            print res[ "result" ]

        else :

 


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

相關文章