Micro-letter domain name anti-H5 active copy link closure system and jump Detailed

All along, we have been the world's best novel H5 continue to impact the brain, the brain is stimulated again and again, good copy H5 activity in the micro letter, circle of friends and a fire, after reading this made us for too long, we subconsciously sparked emotional resonance! So the question is, after the H5 copy orchestrated event, or share too many times after being reported counterparts, are all zero ---- killed by a micro envelope! So how to do anti-closure activities of the H5 copy link domain name it?
Micro-letter domain name anti-H5 active copy link closure system and jump Detailed
Scenes such as these, are based on two-dimensional code picture and text form displayed in front of the public, then we proceed from several aspects.
Here the focus needs to be said is a picture! ! This must have a degree, in order to cause a lot of big brother seeking eye, and with the over-exposure of the image too sexy, so easy to be determined as a micro-channel H color, thereby easily lead to be sealed.

Also, the two-dimensional code identification, a lot of anti-seal can not be compatible with Apple's recognition of two-dimensional code, you can not do a long press to recognize, but need to save the two-dimensional code phase Xiu, and then sweep the identification, so cumbersome steps, not to mention a little advantage, but also causes frustration for the users, so make a complaint, as long as the number of complaints more than one, but also prone to being sealed.

That some people will have questions, I have noticed all aspects, why kill or be micro envelope it? That I am here to tell you that too many factors to be sealed, which can go to Baidu Soso micro letter rules, is hard to detect so-called, we have to do is make anti-seal, will minimize our losses, will be extended to do to maximize the benefits, then how do anti-seal it? Here are a few jump systems for your reference:

1, the anti-blocking strategy now many friends are in contact with the floor domain as human shields, a plurality of inlet coupled floor domain name, the domain name for rotation so that ground, if the ground A is closed, the floor immediately replace the domain B, where manually in other words, you can write programs for automatic change, but this is very cost domain name, especially a little sensitive or gray industry, that day is not prepared to do one hundred domain names is not down, is entirely the domain name to push, and domain name one day a price, sometimes the price is, many employers can not afford to address him push. In this way for some industries can not solve the fundamental.

2. Another is to do the jump, careful analysis, but said the closure is blocked at the micro-channel environment, if that is automatically jump to the phone is not an external browser can solve this problem, but this is also a certain the restrictions, if necessary to implement the latter part of the micro-letter words in context, this is not so appropriate, but so far, can only be achieved automatically jump Android, because Apple has limited the end, still you need to manually guide step.
3, multi-level encryption jump anti-seal, sealed by generating anti-short links, the effective protection of the original link is not found, it should be said is the most technical content of the anti-seal, various scenes are applicable, in particular, QP, BC, etc., Leverage effect.

The conclusion of the above strategy we want to help and look forward to new discoveries - in need can contact me,
and finally to share the code for a friend under the technical reference:

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";

  public static void mobileQuery(){
      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();
      }
  }

  public static void main(String[] args) {

  }

  /**
   *
   * @param  strUrl 请求地址
   * @param  params 请求参数
   * @param  method 请求方法
   * @return    网络请求字符串
   * @throws  Exception
   */
  public static String net(String strUrl, Map params,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型转为请求参数型
  public static String urlencode(Map<String,String> data) {
       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();
  }

}

Guess you like

Origin blog.51cto.com/14563489/2440699