public static JSONObject httpsRequest(String requestUrl, String requestMethod, String outputStr) throws IOException {
JSONObject jsonObject = null;
URL url = new URL(requestUrl);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
// 设置请求方式(GET/POST)
conn.setRequestMethod(requestMethod);
conn.setInstanceFollowRedirects(true);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Charsert", "UTF-8"); //设置请求编码
conn.connect();
// 当outputStr不为null时向输出流写数据
if (null != outputStr) {
OutputStream outputStream = conn.getOutputStream();
// 注意编码格式
outputStream.write(outputStr.getBytes("UTF-8"));
outputStream.close();
}
// 从输入流读取返回内容
InputStream inputStream = conn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
StringBuffer buffer = new StringBuffer();
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
log.info("backStr {}", buffer.toString());
// 释放资源
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
conn.disconnect();
jsonObject = JSONObject.parseObject(buffer.toString());
return jsonObject;
}
同样的代码之前在别的项目的时候好使,挪到一个新项目之后报错,感觉不是代码的问题。比较了maven的<parent>依赖之后还是不对,只能寻求百度。看到一个文章说参数有空格,也没当回事,因为代码都是一样的。后来没有办法只好把代码再移回去。结果移完代码输入参数的时候发现确实是参数有空格。参数有空格,参数有空格。我emo了。