您的位置:首页 > 移动开发 > 微信开发

解密微信域名防封API接口实现防封的技术原理

2019-02-13 16:32 281 查看

看到大家都想了解微信域名防封api接口的原理,今天阿莫之家就解密微信域名防封API接口实现原理。
微信域名防封是指通过技术手段来实现预付措施。一切说自己完全可以防封的那都是不可能的。一切说什么免死域名不会死的那也是吹大话。我们要做的是让我们的推广域名寿命更长一点,成本更低一点,效果更好一点。具体的防封方案易云防封总结了两个供大家参考:
第一:微信域名检测+微信域名切换
你需要有一个微信域名检测接口,自己开发或是购买都可以。配置好你的接口请求程序,准备2套域名A和B。比如说分享出去的域名是A,这里面A被称作是主域名。点开后跳到B,跳转之前检测一下B有没有被封,这里面的B就称作是落地域名。通常情况下落地域名B需要准备几十甚至上百个,利用域名检测接口可以轻松实现被封自动切换。检测接口这个开发文档能够最快能达到1毫秒/请求来检测(当然一般也不需要这么快,请求频率越高对服务器的要求越高)。并且出现问题会及时进行通知,进行备用域名跳转,保证落地页始终是可以访问的。
第二:多级矩阵跳转
短网址(分享出去的)→主域名→二级域名→三级域名→四级域名(着陆页)
在这里需要注意的事,着陆页的域名尽可能长一点。比如主域名是”abc.com“。那到着陆页可能要做到”ffv5.0766city.com.wx.qq.abc.com/1.html“。把”1.html“做成动态的,让每一次访问都不一样。为什么要做成动态的呢?因为我们在实践过程中发现,有时候不封域名封链接。但是这种方式还是会要用到第一种检测+切换的接口。
下面易云防封分享一段微信域名防封切换的api接口文档:

1.      $url = "http://ffv5.0766city.com";

2.     $params = array(

3.     'appkey' =>'appkey',//您申请的APPKEY

4.     'path' =>'/home',//您需要切换的路由

5.     );

6.      

7.     $paramstring = http_build_query($params);

8.     $content = yykeyCurl($url, $paramstring);

9.     $result = json_decode($content, true);

10.    if($result) {

11.        var_dump($result);

12.    }else {

13.        //请求异常

14.    }

15.     

16.    /**

17.        * 请求接口返回内容

18.        * @param    string $url [请求的URL地址]

19.        * @param    string $params [请求的参数]

20.        * @param    int $ipost [是否采用POST形式]

21.        * @return    string

22.    */

23.    function yykeyCurl($url, $params = false, $ispost = 0)

24.    {

25.        $httpInfo = array();

26.        $ch = curl_init();

27.     

28.        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

29.        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);

30.        curl_setopt($ch, CURLOPT_TIMEOUT, 60);

31.        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

32.        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

33.        if ($ispost) {

34.            curl_setopt($ch, CURLOPT_POST, true);

35.            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

36.            curl_setopt($ch, CURLOPT_URL, $url);

37.        }else {

38.            if ($params) {

39.                curl_setopt($ch, CURLOPT_URL, $url.'?'.$params);

40.            } else {

41.                curl_setopt($ch, CURLOPT_URL, $url);

42.            }

43.        }

44.     

45.        $response = curl_exec($ch);

46.            if ($response === FALSE) {

47.            //echo "cURL Error: " . curl_error($ch);

48.            return false;

49.        }

50.     

51.        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

52.        $httpInfo = array_merge($httpInfo, curl_getinfo($ch));

53.        curl_close($ch);

54.        return $response;

55.    }

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: