釋出資料
public static void post(String url, byte [] data, String contentType) throws IOException {
HttpURLConnection connection = null;
OutputStream out = null;
InputStream in = null;
try {
connection = (HttpURLConnection) new URL(url).openConnection();
connection.setRequestProperty("Content-Type", contentType);
connection.setDoOutput(true);
out = connection.getOutputStream();
out.write(data);
out.close();
in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
in.close();
} finally {
if (connection != null) connection.disconnect();
if (out != null) out.close();
if (in != null) in.close();
}
}
這會將資料 POST 到指定的 URL,然後逐行讀取響應。
這個怎麼運作
- 像往常一樣,我們從
URL
獲得HttpURLConnection
。 - 使用
setRequestProperty
設定內容型別,預設情況下是application/x-www-form-urlencoded
setDoOutput(true)
告訴連線我們將傳送資料。- 然後我們通過呼叫
getOutputStream()
獲取OutputStream
並將資料寫入其中。完成後別忘了關閉它。 - 最後我們閱讀了伺服器響應。