java post json

来源:互联网 发布:免费网页数据采集器 编辑:程序博客网 时间:2024/06/04 19:12


package com.test;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import net.sf.json.JSONObject;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicHeader;import org.apache.http.protocol.HTTP;public abstract class TestSend {    public static String MD5Encode(String str) {         MessageDigest messageDigest = null;         try {                 messageDigest = MessageDigest.getInstance("MD5");                 messageDigest.reset();                 messageDigest.update(str.getBytes("UTF-8"));             } catch (NoSuchAlgorithmException e) {                 System.out.println("NoSuchAlgorithmException caught!");                 System.exit(-1);              } catch (UnsupportedEncodingException e) {                  e.printStackTrace();              }          byte[] byteArray = messageDigest.digest();          StringBuffer md5StrBuff = new StringBuffer();          for (int i = 0; i < byteArray.length; i++) {                  if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)                md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));                 else                     md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));             }         return md5StrBuff.toString();     }    public static String byteHEX(byte ib) {           char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };           char[] ob = new char[2];           ob[0] = Digit[(ib >>> 4) & 0X0F];           ob[1] = Digit[ib & 0X0F];           String s = new String(ob);           return s;       }    public static String EncoderByMd5(String buf) {          try {           MessageDigest digist = MessageDigest.getInstance("MD5");           byte[] rs = digist.digest(buf.getBytes("UTF-8"));           StringBuffer digestHexStr = new StringBuffer();           for (int i = 0; i < 16; i++) {                   digestHexStr.append(byteHEX(rs[i]));               }           return digestHexStr.toString();        } catch (Exception e) {//            logger.error(e.getMessage(), e);        }           return null;       }    public static String URL = "http:///user/getDefaultUserUuid";    public static void main(String[] args) {        long ct = System.currentTimeMillis();        String t = String.valueOf(ct);        JSONObject jsobj1 = new JSONObject();String mySecret="5";        jsobj1.put("appkey", "b");        jsobj1.put("time", t);//        {"appkey":tAppkey,"time":time};       String srcStr = URL + jsobj1.toString() + mySecret;       String token = EncoderByMd5(srcStr).toUpperCase();    // 生成token        System.out.println("token:"+token);        JSONObject jsobj2 = new JSONObject();//        jsobj2.put("appkey", "bac04884");        jsobj2.put("token", token);//        jsobj2.put("time", t);//        jsobj2.put("deviceID", "112");//        jsobj2.put("channel", "channel");//        jsobj2.put("state", "0");//        jsobj1.put("item", jsobj2);//        jsobj1.put("requestCommand", "control");        post(jsobj2);    }    public static String post(JSONObject json) {        HttpClient client = new DefaultHttpClient();        HttpPost post = new HttpPost(URL);                post.setHeader("Content-Type", "application/json");        post.addHeader("Authorization", "Basic YWRtaW46");        String result = "";                try {            StringEntity s = new StringEntity(json.toString(), "utf-8");            s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,                    "application/json"));            post.setEntity(s);            // 发送请求            HttpResponse httpResponse = client.execute(post);            // 获取响应输入流            InputStream inStream = httpResponse.getEntity().getContent();            BufferedReader reader = new BufferedReader(new InputStreamReader(                    inStream, "utf-8"));            StringBuilder strber = new StringBuilder();            String line = null;            while ((line = reader.readLine()) != null)                strber.append(line + "\n");            inStream.close();            result = strber.toString();            System.out.println(result);                        if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {                                    System.out.println("请求服务器成功,做相应处理");                            } else {                                System.out.println("请求服务端失败");                            }                    } catch (Exception e) {            System.out.println("请求异常");            throw new RuntimeException(e);        }        return result;    }}

原创粉丝点击