向一個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代碼可以和這些站點輕松的實現對話。