基于JAVA的健康新闻接口调用代码实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于JAVA的健康新闻接口调用代码实例
代码描述:基于JAV A的健康新闻接口调用代码实例
代码平台:聚合数据
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 .URLEncoder;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
/**
*健康资讯调用示例代码-聚合数据
*在线接口文档:/docs/145
**/
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 NT6.1)Appl eWebKit/537.36(KHTML,like Gecko)Chrome/29.0.1547.66Safari/537.36";
//配置您申请的KEY
public static final String APPKEY="*************************";
//1.资讯分类列表
public static void getRequest1(){
String result=null;
String url="/yi18/news/newsclass";//请求接口地址
Map params=new HashMap();//请求参数
params.put("key",APPKEY);//应用APPKEY(应用详细页查询)
params.put("dtype","");//返回数据的格式,xml或json,默认json 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();
}
}
//2.取得资讯信息列表
public static void getRequest2(){
String result=null;
String url="/yi18/news/list";//请求接口地址
Map params=new HashMap();//请求参数
params.put("key",APPKEY);//应用APPKEY(应用详细页查询)
params.put("dtype","");//返回数据的格式,xml或json,默认json
params.put("limit","");//每页个数
params.put("page","");//第几页
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();
}
}
//3.取得详细资讯信息
public static void getRequest3(){
String result=null;
String url="/yi18/news/show";//请求接口地址
Map params=new HashMap();//请求参数
params.put("id","");//资讯的id
params.put("key",APPKEY);//应用APPKEY(应用详细页查询)
params.put("dtype","");//返回数据的格式,xml或json,默认json 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)th rows 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.get OutputStream());
out.writeBytes(urlencode(params));
}catch(Exception e){
//TODO:handle exception
}
}
InputStream is=conn.getInputStream();
reader=new BufferedReader(new InputStreamReader(is,DEF_CH ATSET));
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,Object>data){
StringBuilder sb=new StringBuilder();
for(Map.Entry i:data.entrySet()){
try{
sb.append(i.getKey()).append("=").append(URLEncoder.enc ode(i.getValue()+"","UTF-8")).append("&");
}catch(UnsupportedEncodingException e){
e.printStackTrace();
}
}
return sb.toString();
}
}。