Share a super stable micro-channel detection domain interfaces api

When the micro-letter domain name will be used to detect the interface? Many times we need to know our domain is not being blocked in the micro shield to intercept the letter for the first time, then we need to interface to a micro-channel detection domain, the domain name has not always understand the situation.

After much comparison, we found a very stable and efficient detection of micro-letter domain name interception interfaces, for everyone to share, in real-time detection of micro-letter domain security. And to develop a different frequency packages according to different user needs.

Open URL prompt with micro letter "stopped to visit the page" solution, here to recommend a more stable and practical, micro-channel detection domain interception api interface. Because usually it WeChat more stringent restrictions on external links, which causes external links can easily be restricted access, be treated as a violation of the norms of content to block out.

Of course, most of the external links do exist illegal content, such as induction of sharing and the like, five or black or QP, headache, under detailed here, first of all it, it uses a micro-channel official interfaces, ensure safe use stable, efficient, whether real-time detection of micro-letter domain names are shielded interception, notification appears exceptionally rapid, accurate rate is very high. The price is also relatively modest, with up pretty good.

Api micro-channel detection domain from http://www.monkeyapi.com/

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.url.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/14332373/2404954