摘要
為什麼需要這個接口?因為在微信中推廣鏈接,會涉及到違規,一旦鏈接違規,就會被微信封禁,禁止跳轉,停止訪問。
這個接口可以獲取到你的鏈接的封禁情況,你可以開發實時監控系統,或者是嵌套多層跳轉,精準監控每個域名的狀態,實時監控推廣情況,保證最佳的推廣效果!
域名在微信被攔截的3種常見情況
1、域名因違規或有風險被攔截(圖1紅色攔截)
2、類似douyin.com這種的競爭式攔截(圖2白色攔截)
3、有一箇中間頁的攔截,需要多次點擊按鈕才可以跳轉到你的域名的,多是一些使用頻次較低的域名後綴,例如.xyz .link .top後綴,這種情況,備案後向微信申訴即可解決(圖3備案攔截)
編寫接口
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