用Java写数据到POST请求

用Java写数据到POST请求

HTTP POST请求最常见的用途是发送表单参数到服务器。除了发送表单数据,还可以使用POST的消息Body体发送各种数据(如纯文本、XML文档等)。本文讲述如何用Java将数据写入POST请求的Body体。

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.io.IOUtils;

public class RequestTest {
	public static void main(String[] args){
		try{
			// Configure and open a connection to the site you will send the request
			URL url = new URL("http://www.iana.org/domains/example/");
			URLConnection urlConnection = url.openConnection();
			// 设置doOutput属性为true表示将使用此urlConnection写入数据
			urlConnection.setDoOutput(true);
			// 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型
			urlConnection.setRequestProperty("content-type", "application/x-www-form-urlencoded");
			// 得到请求的输出流对象
			OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());
			// 把数据写入请求的Body
			out.write("message = Hello World chszs");
			out.flush();
			out.close();
			
			// 从服务器读取响应
			InputStream inputStream = urlConnection.getInputStream();
			String encoding = urlConnection.getContentEncoding();
			String body = IOUtils.toString(inputStream, encoding);
			System.out.println(body);
		}catch(IOException e){
			Logger.getLogger(RequestTest.class.getName()).log(Level.SEVERE, null, e);
		}
	}
}

是不是很简单?


posted on 2012-10-09 19:22  YangJin  阅读(712)  评论(0编辑  收藏  举报