我想用Java發送POST請求。此刻,我不喜歡這樣寫道:發送Java POST請求時未調用getInputStream()
URL url = new URL("myurl");
URLConnection con = url.openConnection();
con.setDoOutput(true);
PrintStream ps = new PrintStream(con.getOutputStream());
ps.println("key=" + URLEncoder.encode("value"));
// we have to get the input stream in order to actually send the request
con.getInputStream();
ps.close();
我不明白爲什麼我要叫con.getInputStream(),以實際發送請求。如果我不叫它,請求不會被髮送。
使用PrintStream有問題嗎?如果我使用PrintStream,PrintWriter或其他東西,對嗎?
嘗試用'ps.flush()'替換那個調用。 –
我已經試過了,但沒有幫助。每次調用ps.println()都會調用flush()... – Simon
對不起,現在我找到了我的問題的答案:http://stackoverflow.com/questions/4844535/why-do-you-have-to- call-urlconnectiongetinputstreamstream-to-be-able-to-out-to-u/4844926#4844926 – Simon