码迷,mamicode.com
首页 > Web开发 > 详细

HttpUrlConnect post提交

时间:2018-02-06 14:23:50      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:static   ons   stack   buffered   stp   错误   time   发送数据   str   

package com.g3.hrp.data_api.Logic;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;


public class HttpPostTest {

    public static void main(String[] args) {
        
//        new HttpPostTest().doJsonPost("http://www.aa.com", "{\"key\":\"value\"}");

    }

    //发送JSON字符串 如果成功则返回成功标识。
    public String doJsonPost(String urlPath, String Json) {
//        System.out.println("Json ----- >>>>"+Json); 
        String result = "";
        HttpURLConnection conn = null;
        InputStream is = null;
        InputStreamReader r =  null;
        BufferedReader reader = null;
        OutputStream outwritestream = null;
        try {
            URL url = new URL(urlPath);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST"); 
            conn.setConnectTimeout(30000);
            conn.setReadTimeout(300000); 
            conn.setDoOutput(true);//向服务器写数据
            conn.setDoInput(true);//读取数据
            conn.setUseCaches(false);
            conn.setRequestProperty("Connection", "Keep-Alive");
            conn.setRequestProperty("Charset", "UTF-8");
            // 设置文件类型:
            conn.setRequestProperty("Content-Type","application/json; charset=UTF-8");
            // 设置接收类型否则返回415错误
            //conn.setRequestProperty("accept","*/*")此处为暴力方法设置接受所有类型,以此来防范返回415;
            conn.setRequestProperty("accept","application/json");
            
            // 往服务器里面发送数据
            if (Json != null && Json.length()>0) {
                byte[] writebytes = Json.getBytes();
                // 设置文件长度
                conn.setRequestProperty("Content-Length", String.valueOf(writebytes.length));
                outwritestream = conn.getOutputStream();
                outwritestream.write(Json.getBytes());
                outwritestream.flush();
                outwritestream.close();
            }
            conn.connect();
            if (conn.getResponseCode() == 200) {
                is = conn.getInputStream();
                r = new InputStreamReader(is, "utf-8");
                reader = new BufferedReader(r);
//                reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                result = reader.readLine();
                System.out.println(result); 
            }
            System.out.println("conn.getResponseCode() ---->>>>"+conn.getResponseCode()); 
            conn.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    outwritestream.close();
                    is.close();
                    r.close();
                    reader.close();
                    conn.disconnect();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        return result;
    }
    
}

 

HttpUrlConnect post提交

标签:static   ons   stack   buffered   stp   错误   time   发送数据   str   

原文地址:https://www.cnblogs.com/lxh520/p/8421860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!