English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Example code for calling monthly fortune API based on JAVA

This article shares the JAVA monthly fortune API call code for everyone's reference, the specific content is as follows

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;
/**
*Constellation Fate Call Example Code - Juhe Data
*Online interface document: http://www.juhe.cn/docs/58
**/
public class JuheDemo {
  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";
  //Configure the KEY you applied for
  public static final String APPKEY ="*************************";
  //1.Fate Query
  public static void getRequest1(){
    String result = null;
    String url = "http://web.juhe.cn:8080/constellation/getAll";//Request interface address
    Map params = new HashMap();//Request parameters
      params.put("key", APPKEY);//Application APPKEY (query on the application detailed page)
      params.put("consName", "");//Constellation name, such as: Aries
      params.put("type", "");//Fate type: today, tomorrow, week, next week, month, year
    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 Request URL
   * @param params Request parameters
   * @param method Request method
   * @return Network request string
   * @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
        }
      }
      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();
    }
      e.printStackTrace();
    }
      if (reader != null) {
        reader.close();
      }
      if (conn != null) {
        conn.disconnect();
      }
    }
    return rs;
  }
  //Convert map type to request parameter type
  public static String urlencode(Map<String,Object>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();
  }
}

That is all the content of this article, I hope it will be helpful to everyone's learning, and I also hope everyone will support the Shouting Tutorial more.