Java 编程:Java 向 Web 站点发送 POST 请求的步骤
向一个 Web 站点发送 POST 请求只需要简单的几步:
首先要和 URL 下的 URLConnection 对话。URLConnection 可以很容易的从 URL 得到。
比如:
// Using java.net.URL and
//java.net.URLConnection
URL url = new
URL("http://jobsearch.dice.com/jobsearch/jobsearch.cgi");
URLConnection connection = url.openConnection();
然后把连接设为输出模式。URLConnection 通常作为输入来使用,比如下载一个 Web
页。通过把 URLConnection 设为输出,你可以把数据向你个 Web 页传送。下面是如何做:
...
connection.setDoOutput(true);
最后,为了得到 OutputStream,简单起见,把它约束在 Writer 并且放入 POST 信息中,
例如:
...
OutputStreamWriter out = newOutputStreamWriter(uc.getOutputStream(), "8859_1");
out.write("username=bob&password="+password+"");
// remember to clean up
out.flush();
out.close();
这样就可以发送一个看起来象这样的 POST:
POST /jobsearch/jobsearch.cgi HTTP 1.0
ACCEPT: text/plain
Content-type: application/x-www-form-urlencoded
Content-length: 99
username=bob
password=someword
一旦发送成功,用以下方法就可以得到服务器的回应:
connection.getInputStream();
一些 Web 站点用 POST 形式而不是 GET,这是因为 POST 能够携带更多的数据,而
且不用 URL,这使得它看起来不那么庞大。使用上面列出的大致的代码,Java 代码可以和
这些站点轻松的实现对话。