1、基于 JAVA的轻笑话接口调用代码实例代码描述:基于 JAVA的轻笑话接口调用代码实例代码平台:聚合数据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 .HttpURLConnection;import .URL;import .URLEncode
2、r;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;/*笑 话大全 调用示例代 码 聚合数据*在 线接口文档:http:/ 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 use
3、rAgent = “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36“;/配置您申请的 KEYpublic static final String APPKEY =“*“;/1.返回接口类型public static void getRequest1()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“key“,APPKEY);/您申
4、请的 keytry result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();/2.根据接口序号查询public sta
5、tic void getRequest2()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“cat“,“);/指定接口类型 ,默认 1params.put(“st“,“);/指定开始数,默 认 0params.put(“count“,“);/指定返回个数, 默认 1params.put(“key“,APPKEY);/您申请的 keytry result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject
6、(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();/3.按类搜索接口public static void getRequest3()String result =null;String url =“http:/ params = new HashMap();
7、/请求参数params.put(“st“,“);/指定开始数,默 认 0params.put(“count“,“);/指定返回数量, 默认 1params.put(“term“,“);/指定搜索关键词params.put(“key“,APPKEY);/您申请的 keytry result =net(url, params, “GET“);JSONObject object = JSONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSys
8、tem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();/4.参考答案接口public static void getRequest4()String result =null;String url =“http:/ params = new HashMap();/请求参数params.put(“id“,“);/指定谜语、歇后语、打油诗、脑筋急转弯编号try result =net(url, params, “GET“);JSONObje
9、ct object = JSONObject.fromObject(result);if(object.getInt(“error_code“)=0)System.out.println(object.get(“result“);elseSystem.out.println(object.get(“error_code“)+“:“+object.get(“reason“); catch (Exception e) e.printStackTrace();public static void main(String args) /* param strUrl 请求地址* param params
10、 请求参数* 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“)str
11、Url = strUrl+“?“+urlencode(params);URL url = new URL(strUrl);conn = (HttpURLConnection) url.openConnection();if(method=null | method.equals(“GET“)conn.setRequestMethod(“GET“);elseconn.setRequestMethod(“POST“);conn.setDoOutput(true);conn.setRequestProperty(“User-agent“, userAgent);conn.setUseCaches(f
12、alse);conn.setConnectTimeout(DEF_CONN_TIMEOUT);conn.setReadTimeout(DEF_READ_TIMEOUT);conn.setInstanceFollowRedirects(false);conn.connect();if (params!= null out.writeBytes(urlencode(params); catch (Exception e) / TODO: handle exceptionInputStream is = conn.getInputStream();reader = new BufferedReade
13、r(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(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();