java中根据调用后台URL得到返回的值(在网页上显示的结果)

在测试项目的时候,第一次请求会报链接超时,建议换种方式!

java中根据URL得到返回的值:

Junit单元测试代码:
public void test(){
		//参数
		StringBuffer sb=new StringBuffer("params=[{");
		sb.append("categoryId:"+1);
		sb.append(",moduleId:"+1);
		sb.append(",package_base_id:"+1);
		sb.append(",exercise_base_id:"+1);
		sb.append(",username:"+"test84");
		sb.append("},{");
		sb.append("categoryId:"+1);
		sb.append(",moduleId:"+1);
		sb.append(",package_base_id:"+1);
		sb.append(",exercise_base_id:"+2);
		sb.append(",username:"+"test84");
		sb.append("}]");
		String str=sb.toString();
		//调用地址
		String path="http://s.wanxue.cn/sls/stemAPIController/getLearningStemList";
		String msg =TransInterface.getMsg(str, path);
		//转换成JSONObject对象
		JSONObject jsonObject = JSONObject.fromObject(msg);
		System.out.println(jsonObject);
}

TransInterface代码:
package com.unionx.wanxue.utils;


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;


public class TransInterface {




	public static String getMsg(String jsonStr,String path){
URL url = null;
HttpURLConnection httpurlconnection = null;
String str=null;
try{
	url = new URL(path);
	httpurlconnection = (HttpURLConnection) url.openConnection();
	httpurlconnection.setDoOutput(true);
	httpurlconnection.setRequestMethod("POST");
	String userid = jsonStr;
	httpurlconnection.getOutputStream().write(userid.getBytes());
	httpurlconnection.getOutputStream().flush();
	httpurlconnection.getOutputStream().close();
	int code = httpurlconnection.getResponseCode();
	//http状态码,200正常
	System.out.println("code   " + code);
	java.io.InputStream in= httpurlconnection .getInputStream();
	java.io.BufferedReader breader =new BufferedReader(new InputStreamReader(in , "utf-8"));
	str=breader.readLine();
}
catch(Exception e)
{
	e.printStackTrace();
}
finally
{
	if(httpurlconnection!=null)
httpurlconnection.disconnect();
}
return str;
	}
}


你可能感兴趣的:(java中根据调用后台URL得到返回的值(在网页上显示的结果))