向一个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(); |
...
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 /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代码可以和这些站点轻松的实现对话。