适用场景
APP推广、普通网页推广,微信公众号小说、H5在线棋牌、灰色信息量微信推广等。
需求来源
在微信上做推广的老板最头疼的就是域名被微信拦截了,访客在微信上点击域名链接,经过多次分享或是被人举报之后都会提示为违规网站,非常不利推广。从而失去了很多流量。而且这些行业的老板还必须准备大量的域名,因为一个域名很可能用一天就被封了,或者批量的域名也会在同一时间被封,这样的话买域名都要花上不少的钱。从购买域名的成本到后期推广流量的流失,这都是很大的损失。
那么我们该如何预防域名被封被拦截呢?其实我们只需要一个域名防封系统,下面给大家说说该系统的实现原理。
防封技术原理
1. 域名检测
你需要有一个微信域名检测接口防患于未然,自己开发或是购买都可以。
2. 域名跳转
配置你的程序,用三套域名A、B、C,比如说分享出去的域名是A,这里面A被称作是主域名。
点开后跳到B,跳转之前检测一下B有没有被封,这里面的B就称作是落地域名。通常情况下落地域名B需要准备几十甚至上百个,利用域名检测接口可以轻松实现被封自动切换。
那C是干什么用的呢,微信4月25日以后改变了分享规则,通过JSSDK分享域名必须是公众号后台绑定域名,不能像以前那样想分享什么域名就可以分享什么域名了。
C域名专门用作分享,在B域名下触发分享条件以后跳到C域名,自定义分享出去以后,C域名从程序上设置又跳回到A。
这样A->B->C->A循环跳转。
代码分享
$url = "http://api.monkeyapi.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; }--有不懂的加q咨询:511979480
其实域名被封是很常见的情况,毕竟微信只是软件,不可能那么智能,经常还是有很多误判的。经过测试还是有很多方法可以防止域名被封的,很多行业使用防封代码可以长期稳定的。