4
头图

摘要

为什么需要这个接口?因为在微信中推广链接,会涉及到违规,一旦链接违规,就会被微信封禁,禁止跳转,停止访问。

这个接口可以获取到你的链接的封禁情况,你可以开发实时监控系统,或者是嵌套多层跳转,精准监控每个域名的状态,实时监控推广情况,保证最佳的推广效果!

域名在微信被拦截的3种常见情况

1、域名因违规或有风险被拦截(图1红色拦截)
2、类似 douyin.com 这种的竞争式拦截(图2白色拦截)
3、有一个中间页的拦截,需要多次点击按钮才可以跳转到你的域名的,多是一些使用频次较低的域名后缀,例如 .xyz .link .top 后缀,这种情况,备案后向微信申诉即可解决(图3备案拦截)

4a222a370e3860f9c437d8a62be758f.jpg

编写接口

WeChatDomainNameCheck.php

<?php

    /**
     * 微信域名拦截检测
     * 2024年2月1日编写
     * 作者:TANKING
     * 博客:https://segmentfault.com/u/tanking
     */

    // 页面编码
    header("Content-type:application/json");
    
    // 获取Url
    $url = $_GET['url'];
    
    if($url) {
        
        // 调用官方接口
        $checkUrl = 'https://cgi.urlsec.qq.com/index.php?m=url&a=validUrl&url='.urlencode($url);
        $ch = curl_init($checkUrl);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        
        // 返回信息
        $response = curl_exec($ch);
        curl_close($ch);
        
        $data_msg = json_decode($response)->data;
        if($data_msg == 'ok') {
            
            // 域名被封
            $result = array(
                'code' => 202,
                'msg' => '域名被封'
            );
        }else {
            
            // 域名正常
            $result = array(
                'code' => 200,
                'msg' => $data_msg
            );
        }
        
    }else {
        
        // 参数为空
        $result = array(
            'code' => 202,
            'msg' => '请传入Url'
        );
    }
        
    // 输出JSON
    echo json_encode($result, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
    
?>

我的接口是免费的,微信官方的,不是那些恶心博主封装了一层还要充钱才能用的软文。

gitHub:https://github.com/likeyun/liKeYun_WeChatDomainNameCheck

如何使用

假设你的域名是 www.qq.com
你要查询域名 www.baidu.com
WeChatDomainNameCheck.php 已上传至你服务器根目录
正确的调用示例是:

http://www.qq.com/WeChatDomainNameCheck.php?url=http://www.baidu.com

服务器推荐

几块钱一个月,免备案,送域名和SSL证书。
https://www.rainyun.com/TANKING_

作者

TANKING


TANKING
4.8k 声望493 粉丝

热爱分享,热爱创作,热爱研究。