域名链接被微信封杀拦截屏蔽怎么办
这篇文章给大家分享的是有关域名链接被微信封杀拦截屏蔽怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一.域名被微信拦截的因素
1、举报。包括用户举报,同行恶意举报,提交微信团队检测后进行封杀。
2、转发量过大。转发也是提供产品曝光率和点击率的必要手段,但是转发次数多也会触发系统的自动检测系统从而被封杀。
3、内容。微信或人工检测到内容不实、侵权、诱导分享、营销广告、BC或擦边球等等,都会导致域名被加入黑名单。
二.解决方案,可以从两方面着手,一是硬方面,二算是软方面
硬方面:就要是服务器,服务器方面是目前很多大家在做的,很多做防封的朋友都一样这种经历,例如把自己的域名解析到防封平台的服务器上,很诡异的是确实被封的概率确实降低了很多。这种形式操作的防封平台有很多,最早以前做的是微盾一批人是这么做的,而微盾现在已经不做了。这种技术我们叫做反向代理,但是不持久。那主要还是要从软方面着手,下面这里就具体说下这方面:
1、防举报
不管怎么说举报是一个很伤人的事情,因为同行竞争么很正常,这块防止举报甚至已经有人研究出微信举报按钮通过底层技术破解,让对方无法举报。但是听说效果都不怎么样,也是会莫名奇妙被封。所以一般逃避举报最简单粗暴的方式就是做跳转,所以现在防止举报都是加密+跳转的形式,这样被举报的概率几乎很小。
2、检测工具
做检测微信域名检测工具的一般都会提供一些防封,而防封的操作效果其实很简单,流程就是通过检测工具检测是否被封,如果被封就找寻一个没有封的访问。所以他们采用的技术是检测工具+反向代理技术,也是目前市场主流用的技术。
3 、利用短网址智能(人工+ 系统)轮换推广,尤其是那些大站的短网址,比如.url 和.cn 以及10086 的,这样的话没那么容易被微信针对,从而可以规避一定的风险,而且短网址更有利于让客户记住还可以防篡改。
4 、智能更换RUL 结构,尽量使RUL 趋于正常链接,这样机器人一般是识别不出来有问题的。
5 、域名切换访问阀值处理,当一条域名的点击量达一定值的时候自动跳转到另一条域名进行访问,这样可以避免量太大而被微信注意到。
6 、智能更换页面代码结构,并将页面代码加密,这样做的好处是规避进微信黑名单,这一点做起来可能有点困难。
下面分享代码供各位大佬参考,更多想法可以和我一起交流。
import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;public class Demo { public static final String DEF_CHATSET = "UTF-8"; public static final int DEF_CONN_TIMEOUT = 30000; public static final int DEF_READ_TIMEOUT = 30000; public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; publicstaticvoidmobileQuery(){ String result =null;String url ="http://api.monkeyapi.com";//请求接口地址 Map params = new HashMap();//请求参数 params.put("appkey" , "appkey");//您申请的APPKEY params.put("url" , "www.monkeyapi.com");//需要查询的网站 try { result = net(url, params, "GET"); JSONObject object = JSONObject.fromObject(result); if(object.getInt("error_code")==0){ System.out.println(object.get("result")); }else{ System.out.println(object.get("error_code")+":"+object.get("reason")); } } catch (Exception e) { e.printStackTrace(); } } publicstaticvoidmain(String[] args) { } /** * * @param strUrl 请求地址 * @param params 请求参数 * @param method 请求方法 * @return 网络请求字符串 * @throws Exception */ publicstaticStringnet(String strUrl, Mapparams,String method) throws Exception { HttpURLConnection conn = null; BufferedReader reader = null; String rs = null; try { StringBuffer sb = new StringBuffer(); if(method==null || method.equals("GET")){ strUrl = strUrl+"?"+urlencode(params); } URL url = new URL(strUrl); conn = (HttpURLConnection) url.openConnection(); if(method==null || method.equals("GET")){ conn.setRequestMethod("GET"); }else{ conn.setRequestMethod("POST"); conn.setDoOutput(true); } conn.setRequestProperty("User-agent", userAgent); conn.setUseCaches(false); conn.setConnectTimeout(DEF_CONN_TIMEOUT); conn.setReadTimeout(DEF_READ_TIMEOUT); conn.setInstanceFollowRedirects(false); conn.connect(); if (params!= null && method.equals("POST")) { try { DataOutputStream out = new DataOutputStream(conn.getOutputStream()); out.writeBytes(urlencode(params)); } catch (Exception e) { //TODO:handle exception e.printStackTrace(); } } InputStream is = conn.getInputStream(); reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET)); String strRead = null; while ((strRead = reader.readLine()) != null) { sb.append(strRead); } rs = sb.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { reader.close(); } if (conn != null) { conn.disconnect(); } } return rs; } //将map型转为请求参数型 publicstaticStringurlencode(Mapdata) { StringBuilder sb = new StringBuilder(); for (Map.Entry i : data.entrySet()) { try { sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return sb.toString(); }}
感谢各位的阅读!关于"域名链接被微信封杀拦截屏蔽怎么办"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!