微信域名检测api接口(附上PHP接口代码)

举报
罗晶 发表于 2021/04/22 14:18:48 2021/04/22
【摘要】 因业务需要在微信推广,可没过多长时间就被拦截了,作为一名程序猿,研究起微信风控机制和开发微信域名检测代码,也在网上搜索了大量域名检测的实现原理学习以及爬取市面上域名检测系统代码拿来分析和研究。在开发过程中接口调用成了一个头疼的问题,好在已解决,现在就分享给大家开发过程思路和接口PHP代码。

因业务需要在微信推广,可没过多长时间就被拦截了,作为一名程序猿,研究起微信风控机制和开发微信域名检测代码,也在网上搜索了大量域名检测的实现原理学习以及爬取市面上域名检测系统代码拿来分析和研究。在开发过程中接口调用成了一个头疼的问题,好在已解决,现在就分享给大家开发过程思路和接口PHP代码。


开发思路

1、抓包来获取微信接口

微信接口太难找到,不愧是腾讯!!!

2、使用浏览器模拟微信(UA)

浏览器能模拟微信访问,但无法检测到域名是否已经在腾讯的黑名单中。

3、使用易语言写调用接口,在模拟器上点击链接检测是否出现红点来判断

虽然能检测到,但检测过程慢的不行,哪怕下载一个微信开发工具使用也还是慢的怀疑人生,实在太让人头疼了!!!

4、调用微信公众号接口去判断,检测成功

微信拦截了我的域名,羊毛出在羊生上,那我就将公众号和小程序能有的开发文档研究一篇,希望能找到突破。好在找到了可行的方法,那就是使用微信公众号接口进行调用,梳理了下原理:将你的链接创建成它们的短链接 => > 请求你的短链接 => > 判断获取回来的页面

5、调用第三方接口判断,检测成功

由于时间有限,想着直接调用第三方api接口试试,检测成功!但第三方公共接口限制了次数,检测次数有限,这就没办法了。

api接口代码

以下代码是调用的第三方接口,调用api接口处已备注并且可对接其他接口使用。

// 接口调用地址:http://api.new.urlzt.com/api/vx
//Token获取地址:https://www.urlzt.com,注册登录地址:https://dwz.cn/TzLUYNU2
$apiToken = "********************************";
// 需要检测的地址或域名

$reqUrl = "www.qq.com";


$url = sprintf("http://api.new.urlzt.com/api/qq?token=Token值&url=www.qq.com", $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));


}




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。