| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- package test;
- import com.alibaba.fastjson.JSONObject;
- import org.jeecgframework.web.cgform.util.SignatureUtil;
- import java.io.BufferedReader;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.net.ConnectException;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.util.HashMap;
- import java.util.Map;
- public class HttpUtil {
- /**
- * 发起https请求并获取结果
- *
- * @param requestUrl
- * 请求地址
- * @param requestMethod
- * 请求方式(GET、POST)
- * @param outputStr
- * 提交的数据
- * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
- */
- public static JSONObject httpRequest(String requestUrl,
- String requestMethod, String outputStr,String sign) {
- JSONObject jsonObject = null;
- StringBuffer buffer = new StringBuffer();
- HttpURLConnection httpUrlConn = null;
- try {
- // 创建SSLContext对象,并使用我们指定的信任管理器初始化
- URL url = new URL(requestUrl);
- httpUrlConn = (HttpURLConnection) url.openConnection();
- httpUrlConn.setDoOutput(true);
- httpUrlConn.setDoInput(true);
- httpUrlConn.setUseCaches(false);
- httpUrlConn.setRequestProperty("X-JEECG-SIGN",sign);
- // httpUrlConn.setRequestProperty("content-type", "text/html");
- // 设置请求方式(GET/POST)
- httpUrlConn.setRequestMethod(requestMethod);
- if ("GET".equalsIgnoreCase(requestMethod))
- httpUrlConn.connect();
- // 当有数据需要提交时
- if (null != outputStr) {
- OutputStream outputStream = httpUrlConn.getOutputStream();
- // 注意编码格式,防止中文乱码
- outputStream.write(outputStr.getBytes("UTF-8"));
- outputStream.close();
- }
- // 将返回的输入流转换成字符串
- InputStream inputStream = httpUrlConn.getInputStream();
- InputStreamReader inputStreamReader = new InputStreamReader(
- inputStream, "utf-8");
- BufferedReader bufferedReader = new BufferedReader(
- inputStreamReader);
- String str = null;
- while ((str = bufferedReader.readLine()) != null) {
- buffer.append(str);
- }
- bufferedReader.close();
- inputStreamReader.close();
- // 释放资源
- inputStream.close();
- inputStream = null;
- httpUrlConn.disconnect();
- jsonObject = JSONObject.parseObject(buffer.toString());
- // jsonObject = JSONObject.fromObject(buffer.toString());
- } catch (ConnectException ce) {
- org.jeecgframework.core.util.LogUtil
- .info("Weixin server connection timed out.");
- } catch (Exception e) {
- //e.printStackTrace();
- org.jeecgframework.core.util.LogUtil.info("https request error:{}"
- + e.getMessage());
- }finally{
- try {
- httpUrlConn.disconnect();
- }catch (Exception e) {
- e.printStackTrace();
- org.jeecgframework.core.util.LogUtil.info("http close error:{}"+ e.getMessage());
- }
- }
- return jsonObject;
- }
-
- public static void main(String args[]){
- String key="26F72780372E84B6CFAED6F7B19139CC47B1912B6CAED753";
- JSONObject jsonObject=new JSONObject();
- jsonObject.put("id","40281381537e969401537eb9902d0006");
- jsonObject.put("tableName","jform_contact");
- String body=jsonObject.toJSONString();
- Map param=new HashMap();
- param.put("body",body);
- String sign=SignatureUtil.sign(param,key);
- System.out.println(" -- sign -- "+ sign);
- JSONObject resp=HttpUtil.httpRequest("http://localhost:8080/jeecg/api/cgFormDataController.do?getFormInfo","POST","body="+body,sign);
- System.out.println(resp.toJSONString());
- }
-
- public static void main2(String args[]){
- String key="26F72780372E84B6CFAED6F7B19139CC47B1912B6CAED753";
- JSONObject jsonObject=new JSONObject();
- jsonObject.put("id","40281381537e969401537eb9902d0006");
- jsonObject.put("tableName","jform_contact");
- JSONObject data=new JSONObject();
- data.put("name","张山丰");
- data.put("sex","0");
- jsonObject.put("data",data);
- String body=jsonObject.toJSONString();
- Map param=new HashMap();
- param.put("body",body);
- String sign=SignatureUtil.sign(param,key);
- System.out.println(" -- sign -- "+ sign);
- JSONObject resp=HttpUtil.httpRequest("http://localhost:8080/jeecg/api/cgFormDataController.do?addFormInfo","POST","body="+body,sign);
- System.out.println(resp.toJSONString());
- }
- }
|