java后台get和post请求访问接口

get访问其他项目接口

/**设备状态接口
	 * @param deviceNo
	 * @param data
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value = "status") 
	public JSONObject status(String deviceNo,String data) {
		JSONObject jsonObject = new JSONObject ();
		
		Integer status = 1 ;
        try {
        	String date ="";
        	if((deviceNo!=null&&deviceNo!="")&&(data!=null&&data!="")){
        		//拼接数据
        		date = "deviceNo="+deviceNo+"&runState="+data;  
        		String path="http://api.kdcm.net.cn/api/terminals/run-state/update?"+date;
//        		System.out.println(path);
        		URL url = new URL(path);    // 把字符串转换为URL请求地址
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打开连接
                
                connection.setRequestProperty("accept", "application/json");
                connection.setRequestProperty("connection", "Keep-Alive"); 
                connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); 
                connection.connect();// 连接会话
                // 获取输入流
                BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line;
                StringBuilder sb = new StringBuilder();
                while ((line = br.readLine()) != null) {// 循环读取流
                    sb.append(line);
                }
                br.close();// 关闭流
                connection.disconnect();// 断开连接
        	}else {
        		status=2;
			}
        } catch (Exception e) {
            e.printStackTrace();
        }
        jsonObject.put("status", status);
        return jsonObject;
}

Post访问代码

public void push(String space,String controll,String deviceNo,String status ,String version ,String url,String attach){
		String path="http://api.kdcm.net.cn/api/terminals/remote-control/data";
		HashMap paramMap = new HashMap();
		if(Integer.parseInt(controll)==3){ //获取磁盘空间
			paramMap.put("space", space);
		}else if (Integer.parseInt(controll)==6) {//软件版本
			paramMap.put("version", version);
		}else {
			paramMap.put("url", url); //屏幕截屏
			paramMap.put("attach", attach); //用户识别码
		}
		paramMap.put("type", controll);
		paramMap.put("deviceNo", deviceNo);
		paramMap.put("status", status);
		//传入要访问接口连接,和map数据
		NetTool.sendPost(path, paramMap);
	}
/**
	 * post 访问
	 * 返回json字符串
	 * @param baseUrl
	 * @param paramMap
	 * @return
	 */
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static String sendPost(String baseUrl, HashMap paramMap) {
		String strResult = "";
		try {
			HttpPost request = new HttpPost(baseUrl);

			HttpClient httpclient = new DefaultHttpClient();

			if (paramMap != null && paramMap.size() > 0) {
				List paramList = getParams(paramMap);
				request.setEntity(new UrlEncodedFormEntity(paramList, HTTP.UTF_8));
			}
			// 链接超时 5秒
			httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 5000);
			// 读取内容超时 5秒
			httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 5000);
			
			
			HttpResponse httpResponse = httpclient.execute(request);
			httpResponse.setHeader("Authorization", "APPCODE 0930954d870348e688762dc9fdb20f37");
			
			Integer status = httpResponse.getStatusLine().getStatusCode();
			// 请求成功
			System.out.println(status);
			if (status == HttpStatus.SC_OK) {
				// 取得返回的字符串
				httpResponse.getEntity().getContentLength();
				strResult = EntityUtils.toString(httpResponse.getEntity(), "utf-8");
				if (strResult.startsWith("\"")) {
					strResult = strResult.substring(1, strResult.length() - 1);
				}
			} else {
				strResult = "faile";
			}
		} catch (ClientProtocolException e) {
			e.printStackTrace();
			strResult = "faile";
		} catch (IOException e) {
			e.printStackTrace();
			strResult = "faile";
		}
//		System.out.println(strResult);
		return strResult;
	}

你可能感兴趣的:(java后台get和post请求访问接口)