如何检测微信域名是否被屏蔽或拦截的

背景

公司是做文学相关的业务,做推广的时候,经常发现域名被微信拦截了。

这样的次数多了,推广的钱白花了,老板自然不开心。于是,老板叫我着手解决这个问题。

调研

我首先网上搜索了下,发现很多微信域名拦截检测接口都是需要付费的。本着省钱和研究的精神,想自己实现,发现并不简单。

后面项目紧,我开始对比网上找到的各种付费接口,最终选择了一家,用了一段时间,效果不错,挺稳定的。

代码分享

使用方法很简单,就是请求一个 HTTP API,示例代码是用 PHP 实现的。

更多的文档说明,参考这里:
微信域名拦截检测接口 - 蜻蜓软件

<?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));
}

猜你喜欢

转载自blog.csdn.net/gt9000/article/details/86420845