import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; /** * @author liuhongchun * @date 2019/12/5 15:15 */ public class URLConnectionUtil { public static void main(String[] args) { OutputStreamWriter out = null ; BufferedReader in = null; StringBuilder result = new StringBuilder(); String urlStr ="http://127.0.0.1:8080/process-management-service/login/verification/decrypt?cipherText="; String cipherText ="dioUhLRdqZz9Jgk2XilkCMsok1G2xPqab2CSQJ1vQhNVL38BOOnECy%2FGeCJf%2FjzX4W3iyK5eJjaj%20p9zjPsn3FbEzYqH1%2F2b50iBRTiF7rsG4vw3ijm6yY7pk5YETWT6z7hkZxxFqBqwGCRTYhKpYX0yw%20GECVMLouc4wZCbeOMoQ%3D"; String url = urlStr+cipherText; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); //设置通用的请求头属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 否则会抛异常(java.net.ProtocolException: cannot write to a URLConnection if doOutput=false - call setDoOutput(true)) conn.setDoOutput(true); conn.setDoInput(true); //获取URLConnection对象对应的输出流并开始发送参数 out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); out.flush(); in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result.append(line); } } catch (Exception e) { e.printStackTrace(); }finally {// 使用finally块来关闭输出流、输入流 try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } System.out.println(result.toString()); } }