java 原生的方法发送 http Post 请求

使用POST 命令时,并不需在URL 中添加任何参数,而从URLConnection 中获取输出流,将name/value 对写入该流中,需对这些值进行URL 编码,并用& 字符将它们隔开。下面将介绍这个过程:
首先创建一个URLConnection 对象
URL url = new URL(“http://host/script”);
URLConnection connection = url.openConnection();
然后调用setDoOutput 方法建立一个用于输出的连接。
connection.setDoOutput(true);
接着,调用getOutputStream 方法获得一个流,可以通过这个流向服务器发送数据。如果要向服务器发送文本信息,那么可以非常方便地将流包装在PrintWriter 对象中。
PrintWriter out = new PrintWriter(connection.getOutputStream());
现在可以向服务器发送数据了:
out.print(name1+”=” + URLEncoder.encode(value1,”UTF-8”)+”&”);
out.print(name2 + “=” URLEncoder.encode(value2,”UTF-8”));
之后,关闭输出流。
out.close();
最后调 用getInputStream 方法读取服务器的响应。如果在读取过程中碰到脚本运行错误,那么服务器会返回一个错误页面。为了捕捉这个错误页,可以将URLConnection 对象转型为HttpURlConnection 类开调用它的getErrorStream 方法:
InputStream err = ((HttpURLConnection)connection.getErrorStream();

 
看来还是封装过的 Apache 包里的 HttpPost 好用,再封装一次更好用了,哈哈

reeoo.com - web design inspiration

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注