微信域名检测源码(适合各种语言)
原理:利用微信重定向判断域名是否被封javaer直接复制代码就可以运行
检测的域名必须添加 HTTP/HTTPS:
Pattern pattern = compile("^({2}://|{2}://)((+).)+()+$");
boolean matches = pattern.matcher(url).matches();
if(!matches){
return BaseResult.failed().msg("不合法的链接,请填写完整的链接地址(http://xxxx.com)!");
}
话不多说直接上代码:
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.Method;
/**
* @Title: WxUrlCheckUtil.java
* @Description: TODO
* @AuThor Denticle
* @date 2020/5/14 16:32
* @version V1.0
*/
public class WxUrlCheckUtil {
private static final String CHECK_URL = "http://mp.weixinbridge.com/mp/wapredirect?url=%s&action=appmsg_redirect&uin=&biz=MzUxMTMxODc2MQ==&mid=100000007&idx=1&type=1&scene=0";
public static boolean checkUrl(String url){
String curl = String.format(CHECK_URL,url);
HttpRequest request = new HttpRequest(curl);
request.header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36");
request.method(Method.GET);
HttpResponse response = request.execute();
String location = response.header("Location");
if(location.equals(url)){
return true;
}else if(location.contains("https://weixin110.qq.com")){
return false;
}
throw new IllegalArgumentException("未知错误,请重新检测");
}
public static void main(String[] args) {
try {
if(checkUrl("https://www.xxx.com")){
System.out.println("恭喜域名正常!");
}else {
System.out.println("域名被封了!");
}
}catch (Exception e){
e.printStackTrace();
}
}
}
小非凡 发表于 2020-5-14 19:36
大佬,JS怎么写,这代码看不懂啊
给你说下思路吧,请求http://mp.weixinbridge.com/mp/wapredirect?url=%s&action=appmsg_redirect&uin=&biz=MzUxMTMxODc2MQ==&mid=100000007&idx=1&type=1&scene=0微信会进行重定向,只要你能拿到重定向的地址就能判断,重定向到你的域名那就是正常,重定向到weixin110的地址那就是被封了 谢谢分享
本帖最后由 lennydada 于 2020-5-14 21:18 编辑
小非凡 发表于 2020-5-14 19:36
大佬,JS怎么写,这代码看不懂啊
http://mp.weixinbridge.com/mp/wapredirect?url=这里是链接
把这里是链接 替换成你要检测的链接就行了记得带上 http或https lennydada 发表于 2020-5-14 21:10
http://mp.weixinbridge.com/mp/wapredirect?url=这里是链接
不行呀 直接转到了要检测的链接 小非凡 发表于 2020-5-14 19:36
大佬,JS怎么写,这代码看不懂啊
直接GET就行了。如果是屏蔽的会跳转到 weixin110.qq.com
如果是正常的会直接访问该检测域名
我不用 js 具体使用方法无法给出 学习了 感谢分享 这种接口 很多地方卖300一个月呢 PHP的话,这样写。
$api = get_headers('http://mp.weixinbridge.com/mp/wapredirect?url='.$_REQUEST['url']);
if($api !== 'Location: '.$_REQUEST['url'].''){
echo '域名被封';
}else{
echo '域名正常';
}
页:
[1]
2