金山WPS在线编辑
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.wps.controller;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityEntity;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.log.OperationLogDetail;
|
||||
@ -9,6 +10,7 @@ import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType;
|
||||
import com.chinaunicom.mall.ebtp.extend.feign.client.UnicomOAuthClient;
|
||||
import com.chinaunicom.mall.ebtp.extend.wps.entity.KingSoftFileSaveVo;
|
||||
import com.chinaunicom.mall.ebtp.extend.wps.service.WpsService;
|
||||
import com.chinaunicom.mall.ebtp.extend.wps.util.HttpsUtils;
|
||||
import com.chinaunicom.mall.ebtp.extend.wps.vo.WpsClientInVo;
|
||||
import com.chinaunicom.mall.ebtp.extend.wps.vo.WpsResultVo;
|
||||
import feign.Body;
|
||||
@ -17,6 +19,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringEscapeUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
@ -25,6 +28,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@ -39,6 +43,8 @@ public class WpsController {
|
||||
@Resource
|
||||
private UnicomOAuthClient unicomOAuthClient;
|
||||
|
||||
@Value("${KingSoftWps.kswpsurl}")
|
||||
private String kswpsurl;
|
||||
/**
|
||||
* 获得编辑或查看链接
|
||||
*
|
||||
@ -142,4 +148,18 @@ public class WpsController {
|
||||
log.info("SecurityEntity:"+s);
|
||||
return BaseResponse.success(s);
|
||||
}
|
||||
/**
|
||||
* token UrlPostString
|
||||
* 编辑 permission=write
|
||||
* 预览 permission=read
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("token")
|
||||
@PostMapping("/kingSoft/UrlPostString")
|
||||
public BaseResponse UrlPostString(@RequestBody Object obj) {
|
||||
String retJson = HttpsUtils.UrlPostString(kswpsurl, "utf-8", JSON.toJSONString(obj));//httpPost(kswpsurl,json);
|
||||
log.info("retJson:"+retJson);
|
||||
return BaseResponse.success(retJson);
|
||||
}
|
||||
}
|
||||
|
@ -31,16 +31,18 @@ public class HttpsUtils {
|
||||
sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
|
||||
URL console = new URL(url);
|
||||
|
||||
// StringBuffer postData = new StringBuffer();
|
||||
//
|
||||
// Iterator it = map.entrySet().iterator();
|
||||
// while (it.hasNext()) {
|
||||
// Map.Entry pairs = (Map.Entry) it.next();
|
||||
// postData.append(pairs.getKey()).append("=")
|
||||
// .append(URLEncoder.encode(pairs != null && pairs.getValue() != null ? pairs.getValue().toString() : "", charSet)).append("&");
|
||||
// }
|
||||
// System.out.println("请求参数:" + postData);
|
||||
System.out.println("请求参数:" + map);
|
||||
StringBuffer postData = new StringBuffer();
|
||||
|
||||
Iterator it = map.entrySet().iterator();
|
||||
postData.append("{");
|
||||
while (it.hasNext()) {
|
||||
Map.Entry pairs = (Map.Entry) it.next();
|
||||
postData.append("\""+pairs.getKey()+"\"").append("=")
|
||||
.append(URLEncoder.encode(pairs != null && pairs.getValue() != null ? "\""+pairs.getValue().toString()+"\"" : "", charSet));
|
||||
}
|
||||
postData.append("}");
|
||||
System.out.println("请求参数:" + postData);
|
||||
//System.out.println("请求参数:" + map);
|
||||
HttpsURLConnection conn = null;
|
||||
if (proxy != null) {
|
||||
System.out.println("proxy信息=======:" + proxy);
|
||||
@ -60,7 +62,7 @@ public class HttpsUtils {
|
||||
|
||||
PrintWriter out = new PrintWriter(conn.getOutputStream());//获取URLConnection对象对应的输出流
|
||||
|
||||
out.print(map);//发送请求参数即数据
|
||||
out.print(postData);//发送请求参数即数据
|
||||
|
||||
out.flush();//缓冲数据
|
||||
|
||||
@ -148,6 +150,58 @@ public class HttpsUtils {
|
||||
|
||||
}
|
||||
|
||||
public static String UrlPostString(String url,String charSet, String value){
|
||||
String str = "";
|
||||
try {
|
||||
SSLContext sc = SSLContext.getInstance("SSL");
|
||||
sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
|
||||
URL console = new URL(url);
|
||||
|
||||
System.out.println("请求参数:" + value);
|
||||
//System.out.println("请求参数:" + map);
|
||||
HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
|
||||
|
||||
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
|
||||
conn.setRequestProperty("Accept", "application/json");
|
||||
conn.setRequestProperty("Accept-Encoding", "");
|
||||
|
||||
conn.setSSLSocketFactory(sc.getSocketFactory());
|
||||
conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
|
||||
|
||||
conn.setDoInput(true);
|
||||
conn.setDoOutput(true);
|
||||
|
||||
PrintWriter out = new PrintWriter(conn.getOutputStream());//获取URLConnection对象对应的输出流
|
||||
|
||||
out.print(value);//发送请求参数即数据
|
||||
|
||||
out.flush();//缓冲数据
|
||||
|
||||
//获取URLConnection对象对应的输入流
|
||||
InputStream is = conn.getInputStream();
|
||||
//构造一个字符流缓存
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(is));
|
||||
|
||||
String line = br.readLine();
|
||||
while (line != null) {
|
||||
str = new String(line.getBytes(), "UTF-8");//解决中文乱码问题
|
||||
System.out.println(str);
|
||||
line = br.readLine();
|
||||
}
|
||||
System.out.println("返回参数:" + str);
|
||||
//关闭流
|
||||
is.close();
|
||||
//断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被其他线程使用就不切断。
|
||||
//固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上disconnect后正常一些。
|
||||
conn.disconnect();
|
||||
|
||||
}catch (Exception e) {
|
||||
log.error("错误信息",e);
|
||||
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("https请求异常", true);
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
public static String to2HttpPost(String path, Map<String,String> data) {
|
||||
String str = "";
|
||||
|
||||
|
Reference in New Issue
Block a user