JAVA对web发起POST请求
public static void main(String[] args) throws IOException {
System.err.println( WebUtil.sendPost("http://localhost/Test","params1=123¶ms=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}