解密微信域名防封API介面實現原理

樑濤發表於2019-02-17

微信域名防封是指通過技術手段來實現預付措施。一切說自己完全可以防封的那都是不可能的。一切說什麼免死域名不會死的那也是吹牛逼的。我們要做的是讓我們的推廣域名壽命更長一點,成本更低一點,效果更好一點。

第一:微信域名檢測+微信域名切換:

你需要有一個微信域名檢測介面,自己開發或是購買都可以。配置好你的介面請求程式,準備2套域名A和B。比如說分享出去的域名是A,這裡面A被稱作是主域名。點開後跳到B,跳轉之前檢測一下B有沒有被封,這裡面的B就稱作是落地域名。通常情況下落地域名B需要準備幾十甚至上百個,利用域名檢測介面可以輕鬆實現被封自動切換。檢測介面這個開發文件能夠最快能達到1毫秒/請求來檢測(當然一般也不需要這麼快,請求頻率越高對伺服器的要求越高)。並且出現問題會及時進行通知,進行備用域名跳轉,保證落地頁始終是可以訪問的。

第二:多級矩陣跳轉

短網址(分享出去的)→主域名→二級域名→三級域名→四級域名(著陸頁)

在這裡需要注意的事,著陸頁的域名儘可能長一點。比如主域名是“abc.com”。那到著陸頁可能要做到

“ dfdfdjdjjddjfjdfdjfdjjdfjdjdfjj.wx.qq.abc.com/1.html “。 把 “1.html ”做成動態的,讓每一次訪問都不一樣。為什麼要做成動態的呢?因為我們在實踐過程中發現,有時候不封域名封連結。但是這種方式還是會要用到第一種檢測+切換的介面。

下面猴子資料分享一段微信域名檢測的api介面文件:

$url = “http://api.WEIXIN88871.com”;

$params = array(

`appkey` =>`appkey`,//您申請的APPKEY

`url` =>`www.monkeyapi.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;

}

相關文章