解密微信域名防封API接口实现原理
微信域名防封是指通过技术手段来实现预付措施。一切说自己完全可以防封的那都是不可能的。一切说什么免死域名不会死的那也是吹牛逼的。我们要做的是让我们的推广域名寿命更长一点,成本更低一点,效果更好一点。
第一:微信域名检测+微信域名切换:
你需要有一个微信域名检测接口,自己开发或是购买都可以。配置好你的接口请求程序,准备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;
}