下面介绍几种调用HTTP接口拿到返回值的方法
第一种采用post请求调用接口
/**
* 发送Http post请求
*
* @param jsonInfo
* 调用接口所传的参数
* @param URL
* 请求url
* @return ResponseString
* 拿到的返回信息
* @throws Exception
*/
public static String doHttpPost(String URL,JSONObject jsonInfo) throws Exception {
System.out.println(“登录接口发起的数据:” + jsonInfo);
InputStream instr = null;
try {
byte[] jsonData = jsonInfo.toString().getBytes("utf-8");
URL url = new URL(URL);
URLConnection urlCon = url.openConnection();
urlCon.setDoOutput(true);//可以发生信息到URLConnection
urlCon.setDoInput(true);//可以接受来自URLConnection的输入
urlCon.setUseCaches(false);
urlCon.setRequestProperty("content-Type", "application/json");//设置请求头
urlCon.setRequestProperty("charset", "utf-8");
urlCon.setRequestProperty("Content-length",String.valueOf(jsonData.length));
logger.debug("登录接口所传参数长度:"+String.valueOf(jsonData.length));
DataOutputStream printout = new DataOutputStream(urlCon.getOutputStream());
printout.write(jsonData);
printout.flush();
printout.close();
instr = urlCon.getInputStream();
byte[] bis = IOUtils.toByteArray(instr);
String ResponseString = new String(bis, "UTF-8");
if ((ResponseString == null) || ("".equals(ResponseString.trim()))) {
logger.debug("登陆接口返回空");
}
logger.debug("登录接口返回数据为:" + ResponseString);
return ResponseString;
} catch (Exception e) {
logger.debug("登录接口发送的地址=" + URL + "登录接口发送的数据:" + jsonInfo + "登录接口发送数据失败:" + e.getMessage());
throw new Exception( e.getMessage());
} finally {
try {
instr.close();
} catch (Exception ex) {
return "0";
}
}
}
第二种采用get请求调用接口
/**
* 向指定URL发送GET方法的请求
*
* @param url
* 发送请求的URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL
* 所代表远程资源的响应结果
*/
public static String sendGet(String url, String param) {
String result = “”;
BufferedReader in = null;
try {
String urlNameString = “http://”+url + “?” + param;
System.out.println(urlNameString);
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty(“accept”, “/“);
connection.setRequestProperty(“connection”, “Keep-Alive”);
connection.setRequestProperty(“user-agent”,
“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)”);
// 建立实际的连接
connection.connect();
// 获取所有响应头字段
Map