微信域名拦截查询之如何使用网址被屏蔽检测api接口

这篇文章将为大家详细讲解有关微信域名拦截查询之如何使用网址被屏蔽检测api接口,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

背景

公司是做文学相关的业务,在微信上做营销推广的时候,经常发现域名被微信屏蔽了,达不到预期的效果。

微信域名拦截查询之如何使用网址被屏蔽检测api接口
公司的技术部分开始讨论和调研有哪些技术手段可以解决这个问题。初步的设想,希望达到这样的效果:

  1. 用户通过主域名访问,主域名不承接任何业务,只跳转到业务域名

  2. 维持一个业务域名池,后端实时检测域名是否被微信屏蔽/拦截

  3. 当检测到域名被微信屏蔽/拦截时,自动下线被屏蔽/拦截的域名

从这里可以看出,检测域名是否被微信屏蔽,是这里的核心。但是在网上搜索和查看微信的文档,微信官方没有提供相关的查询方法。最后,在网上找到了一个接口地址,分享给有需要的朋友。
https://wx.horocn.com/
示例代码

<?php
// 您的 API Token,在用户中心可查询到
$apiToken = "********************************";
// 需要检测的地址或域名
$reqUrl = "www.qq.com";
$url = sprintf("https://wx.horocn.com/api/v1/wxUrlCheck?api_token=%s&req_url=%s", $apiToken, $reqUrl);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$responseBody = curl_exec($ch);
$responseArr = json_decode($responseBody, true);
if (json_last_error() != JSON_ERROR_NONE) {
    echo "JSON 解析接口结果出错\n";
    return;
}
if (isset($responseArr['code']) && $responseArr['code'] == 0) {
    // 接口正确返回
    // $responseArr['data']['status'] 的取值范围:ok、blocked
    // ok 表示正常、blocked 表示被封
    printf("测试地址(%s)的状态为:%s\n", $reqUrl, $responseArr['data']['status']);
} else {
    printf("接口异常:%s\n", var_export($responseArr, true));
}

关于“微信域名拦截查询之如何使用网址被屏蔽检测api接口”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。