用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 requestURL 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());// 把資料寫入請求的Bodyout.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);}}}
是不是很簡單?