JAVA http请求

/**
 * 
 */
package com.app.record;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.apache.commons.io.IOUtils;

/**
 * @author Administrator
 * @date 2016-11-05 02:39:04
 *
 */
public class sendMagToRecWhenCreate {
    public static String doHttpPost(String touserId, String b) {
        System.out.println("接受人ID" + touserId);
        JSONArray resultArray;
        JSONObject resultObj;
        String fromuserId = null;
        JSONObject record = null;
        try {
            resultArray = new JSONArray(b);
            resultObj = resultArray.optJSONObject(0);

            fromuserId = resultObj.getString("fromuserId");//获取数据项

            record = resultObj.getJSONObject("record");//获取数据对象

        } catch (JSONException e2) {
            // TODO 自动生成的 catch 块
            e2.printStackTrace();
        }
        System.out.println("发送人ID" + fromuserId);
        System.out.println("日志数组:" + record);

        String URL = "http://......";

        JSONObject obj = new JSONObject();
        JSONObject msg = new JSONObject();
        try {

            msg.put("chatType", "EXTERNAL");
            msg.put("fromUserId", 103);
            msg.put("fromType", "APP");
            msg.put("toUserId", touserId);
            msg.put("toType", "PERSONAL");
            msg.put("gorupId", "0");
            if (record.getString("recordType").equals("daily")) {
                msg.put("summaryInfo",
                        "{"
                                + "\"title\":\"日志:"
                                + record.getString("userName")
                                + "的日报\","
                                + "\"content\":\"今日完成工作:"
                                + record.getString("finishWork")
                                + " 未完成工作:"
                                + record.getString("unfinishWork")
                                + " 需协调工作:"
                                + record.getString("coordinateWork")
                                + "  备注:"
                                + record.getString("remark")
                                + "\","
                                + "\"detail\":{\"type\":\"BROADCAST\",\"url\":\"record/dateDetail.html\",\"params\":{\"recordId\":45}},"
                                + "\"buttons\":{\"action\":{\"type\":\"WEBSERVICE\",\"url\":\"record/dateDetail.html\",\"params\":{\"recordId\":45} } } }");
            } 
            msg.put("moduleType", "APP");

            obj.put("msg", msg);
            System.out.println(obj.toString());
        } catch (JSONException e1) {
            // TODO 自动生成的 catch 块
            e1.printStackTrace();
        }

        InputStream instr = null;
        ByteArrayOutputStream out = null;
        try {
            URL url = new URL(URL);
            HttpURLConnection urlCon = (HttpURLConnection) url.openConnection();
            urlCon.setDoOutput(true);
            urlCon.setDoInput(true);
            urlCon.setUseCaches(false);
            urlCon.setRequestMethod("POST");
            urlCon.setReadTimeout(5000);// 连接上了读取超时的时间  
            urlCon.setConnectTimeout(5000);// 设置连接超时时间5s  
            urlCon.setRequestProperty("content-Type", "application/json");
            urlCon.setRequestProperty("charset", "utf-8");
            byte[] data = (obj.toString()).getBytes();
            urlCon.setRequestProperty("Content-length",
                    String.valueOf(data.length));

            OutputStream printout = urlCon.getOutputStream();
            printout.write((obj.toString()).getBytes("utf-8"));
            printout.flush();
            printout.close();

            System.out.println(urlCon.getResponseCode());

            instr = urlCon.getInputStream();
            byte[] bis = IOUtils.toByteArray(instr);
            String ResponseString = new String(bis, "UTF-8");
            if ((ResponseString == null) || ("".equals(ResponseString.trim()))) {
                System.out.println("返回空");
            }
            System.out.println("返回数据为:" + ResponseString);
            return ResponseString;

        } catch (Exception e) {
            e.printStackTrace();
            return "0";
        } finally {
            try {
                out.close();
                instr.close();

            } catch (Exception ex) {
                return "0";
            }
        }
    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值