public static String getJsonData(JSONObject jsonParam) {
StringBuffer sb=new StringBuffer();
String resultJsonto = new String();
try {
// 创建url资源
URL url = new URL("http://XXXXXXXXX");
// 建立http连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 设置允许输出
conn.setDoOutput(true);
conn.setConnectTimeout(10000);
conn.setReadTimeout(100000);
// 设置允许输入
conn.setDoInput(true);
// 设置不用缓存
conn.setUseCaches(false);
// 设置传递方式
conn.setRequestMethod("POST");
// 设置维持长连接
conn.setRequestProperty("Connection", "Keep-Alive");
// 设置文件字符集:
conn.setRequestProperty("Charset", "UTF-8");
// 转换为字节数组
//byte[] data = (jsonParam.toString()).getBytes();
byte[] data = jsonParam.toString().getBytes();
// 设置文件长度
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
// 设置文件类型:
conn.setRequestProperty("contentType", "application/json");
// 开始连接请求
conn.connect();
OutputStream out = new DataOutputStream(conn.getOutputStream()) ;
// 写入请求的字符串
out.write(jsonParam.toString().getBytes());
out.flush();
out.close();
System.out.println(conn.getResponseCode());
// 请求返回的状态
if (HttpURLConnection.HTTP_OK == conn.getResponseCode()){
System.out.println("连接成功");
// 请求返回的数据
InputStream in1 = conn.getInputStream();
try {
String readLine=new String();
BufferedReader responseReader=new BufferedReader(new InputStreamReader(in1,"UTF-8"));
while((readLine=responseReader.readLine())!=null){
sb.append(readLine).append("
");
}
responseReader.close();
String json = sb.toString();
//第一次解码
String deCode = deCodeBase(json);
//分割字符串
String nextIndex =deCode.substring(deCode.indexOf("{"), deCode.length());
//转换json格式
JSONObject jsonResult =JSONObject.fromObject(nextIndex);
//获取解码message值
String deCodename = deCodeBase(jsonResult.getString("message"));
//获取result值
String resultname = jsonResult.getString("result");
//返回新JSONObject
JSONObject resultJson = new JSONObject();
resultJson.put("message", deCodename);
resultJson.put("result", resultname);
//实体类对象转换成String类型的JSON字符串
resultJsonto = resultJson.toString();
} catch (Exception e1) {
e1.printStackTrace();
}
} else {
System.out.println("连接失败");
InputStream error = conn.getErrorStream();
String errorLine=new String();
BufferedReader errorresponseReader=new BufferedReader(new InputStreamReader(error,"UTF-8"));
while((errorLine=errorresponseReader.readLine())!=null){
sb.append(errorLine).append("
");
}
errorresponseReader.close();
String errorData = sb.toString();
System.err.println("错误信息:"+errorData);
}
} catch (Exception e) {
System.out.println("error");
e.printStackTrace();
}
return resultJsonto;
}
调用接口
public Map<Integer,Object> work(String str1,String str2,String file) throws Exception {
str1 = "123";
str2 = "456";
String mima = UUID.randomUUID().toString();
//密钥加密
String requestData = enCodeBase(str1);
//密钥加密
String sign = DigestUtils.md5DigestAsHex(str2.getBytes());
//读取文本文件
String name = readFileContent(file);
//获取文本文件内参数
String utf8 = "";
try {
utf8 = new String(name.getBytes(), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.err.println("utf8:"+utf8);
//切割字符串,获取参数
String[] rows = utf8.split("<br>");
//批量次数
Integer rowNum = rows.length;
//获取返回值
Map<Integer,Object> resultStr = new HashMap<>();
for (int i = 0;i<rows.length;i++) {
System.err.println("Stirng:"+rows[i]);
//Stirng 转为jsonJSONObject
JSONObject string1 = JSONObject.fromObject(rows[i]);
//调用接口
String str=UserController.getJsonData(string1);
//防止结果到map
resultStr.put(i, str);
}
for(Entry<Integer, Object> entry : resultStr.entrySet()){
Integer mapKey = entry.getKey()+1;
Object mapValue = entry.getValue();
System.out.println("批次:"+mapKey+" : 错误信息:"+mapValue);
}
return resultStr;
}
相关加密,导入文件方法
//base64位的加密状态
public static String enCodeBase(String str){
byte[] enCodeBase;
try {
enCodeBase = Base64.encodeBase64(str.getBytes("utf-8"));
String enCode = new String(enCodeBase,"UTF-8");
return enCode;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return "出现异常";
}
}
//base64位的解密
public static String deCodeBase(String str){
byte[] deCodeBase64;
try {
deCodeBase64 = Base64.decodeBase64(str.getBytes("UTF-8"));
String deCode = new String(deCodeBase64,"UTF-8");
return deCode;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return "出现异常";
}
}
//获取文本文件
public static String readFileContent(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
StringBuffer sbf = new StringBuffer();
try {
reader = new BufferedReader(new FileReader(file));
String tempStr;
while ((tempStr = reader.readLine()) != null) {
sbf.append(tempStr);
}
reader.close();
return sbf.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
return sbf.toString();
}