JAVA对web发起POST请求

2018/04/19

JAVA对web发起POST请求

public static void main(String[] args) throws IOException {
   System.err.println( WebUtil.sendPost("http://localhost/Test","params1=123&params=56",null));
}

public static String sendPost(String url,String param,HashMap<String,String> requestHead) 
throws IOException {
    URL url1=new URL(url);
    URLConnection connection=url1.openConnection();
    connection.setRequestProperty("Connection","Keep-Alive");
    if(requestHead==null){
    }else{
        for(String key:requestHead.keySet()){
            connection.setRequestProperty(key,requestHead.get(key));
        }
    }
    connection.setDoInput(true);
    connection.setDoOutput(true);
    PrintWriter printWriter=new PrintWriter(connection.getOutputStream());
    printWriter.write(param);
    printWriter.flush();
    InputStream inputStream=connection.getInputStream();
    int len=0;
    ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
    byte[] bytes=new byte[024];
    while((len=inputStream.read(bytes))!=-1){
        outputStream.write(bytes);
    }
    String ret=new String(outputStream.toByteArray());
    String charset=getWebCharset(ret);
    return new String(outputStream.toByteArray(),charset);
}

其中要注意最重要的两行:

 connection.setDoInput(true);
 connection.setDoOutput(true);

运行结果:

params1||{123}
params||{56}

Post Directory