http post请求,携带数据

发送post请求:

public static String sendPost(String url , String params  , String formData) throws Exception{

        StringBuilder builder = new StringBuilder();

        if(!(params == null || params.length() == 0) ){
            url += ("?" + params ); 
        }
        URL Url = new URL(url );
        URLConnection conn = Url.openConnection();

        //如果设置代理 , 和发送GET一样.
        conn.setRequestProperty("accept", "*/*" );
        conn.setRequestProperty("Connection", "Keep-Alive" );
        conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36");

        //设置之后就可以发送POST请求了
        conn.setDoInput(true );
        conn.setDoOutput(true );


        //获取它的输出流 , 直接写入post请求
        PrintWriter writer = new PrintWriter(conn.getOutputStream() );
        writer.print(formData );                                    
        writer.flush();


        //获取浏览器的返回数据
        BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream() ) );
        String line = reader.readLine();
        line = new String(line.getBytes() , "utf-8" );  //解决乱码的问题
        while(line != null ){
            builder.append(line + "\r\n" );
            line = reader.readLine();
        }
        reader.close();
        writer.close();


        return builder.toString();
    }

接收请求中的参数:

	// 本地主动调用改接口上传本地更新内容数据
	@ResponseBody
	@RequestMapping("getLocalData")
	public FantasticResult getLocalData(String mdNum, HttpServletRequest request) {
		FantasticResult result = new FantasticResult();
		String data = "";
		try {
			String inputLine = "";
			StringBuffer sb = new StringBuffer();
			BufferedReader bufReader;
			bufReader = request.getReader();
			while ((inputLine = bufReader.readLine()) != null) {
				sb.append(inputLine);
			}
			data = sb.toString();
		} catch (IOException e) {
			e.printStackTrace();
		}
		if (StringUtils.isBlank(mdNum) || StringUtils.isBlank(data)) {
			result.setMessage("参数错误!");
			result.setStatus(false);
		}
		if (StringUtils.isNotBlank(data)) {
			result = synService.getLocalUpdateData(mdNum, data);
		}
		return result;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值