H5活动广告域名在微信中总是被封杀、拦截?366tool为您在线解答域名防封杀的原理

很多商家团队经常会需要通过微信推广一些线下举办的活动或者产品的广告网页。因为现阶段,微信推广是传播信息速度最快的方法,见的最多的就是在海报上贴上微信二维码,让看到的人都能立刻了解到自己的产品,但是由于微信官方要维持一个绿色的环境,因此对这类的推广链接有着非常苛刻的审查,违规的我就不多说了,没有违反微信规则的,都经常会被腾讯封杀了。

这个问题一直让广大群众头疼,因为微信推广的效率确实很理想,用户量的裂变也很快,但当投入了大批人力和物力时候,微信却不声不响地把域名给封了,导致了之前做的所有推广工作都白搭了。

我身边就有这样的一个例子,我们兄弟团队之前花大人力和财力去开发了一款新产品,花了很多精力做了几套精美的产品宣传页,本想着去大力推广,却屡屡被微信拦截域名,最终的导致所有的推广工作都暂停了,产品写的再好,无法推广出去那就等于是做了无用功。后来他们的技术去百度、去各大博客论坛找解决方案,皇天不负有心人他们最终找到一个比较靠谱的合作方366TooL,后来我们团队在推广的时候就借鉴了,确实还不错,至少我们发出去的广告宣传链接一个多月了没被拦截过。

于是我就让技术总监去研究他们的防封原理,特此写这篇文章把我们研究的一些防封心得和经验分享给大家。

1、检测微信域名并将域名切换

首先你要有一个微信域名检测接口,配置好你的接口请求程序,准备2套域名A和B。我们分享出去的域名是A,但点开后跳到B,前提是要检测一下B有没有被封,这里我们的 B一般需要准备几十甚至上百个,利用域名检测接口可以轻松实现被封自动切换。

2、多级矩阵加密跳转
这里需要注意的是,落地页的域名尽可能长一点,尽量将最后.html做成动态的,这种方式还是会要用到第一种检测+切换的接口,而且这种防封效果更好、稳定性会更高。分享一段我们破解的代码供大家参考

$url = "http://www.366tool.com";
$params = array(
'appkey' =>'appkey',//您申请的APPKEY
'path' =>'/home',//需要切换的路由(非必传)
);

$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;
}


猜你喜欢

转载自blog.51cto.com/14361238/2401056
今日推荐