httpUrlConnection.setDoOutput(true)
httpUrlConnection.setDoInput(true)
這兩個方法在develope的httpUrlConnection方法中找不到的。
一般情況是:
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
url.openConnection()得到的是URLConnection對象,此類有setDoOutput()和setDoInput()
- httpUrlConnection.setDoOutput(false);以后就可以使用conn.getOutputStream().write()
- httpUrlConnection.setDoInput(true);以后就可以使用conn.getInputStream().read();
- get請求用不到conn.getOutputStream(),因為參數直接追加在地址后面,因此默認是false。
- post請求(比如:文件上傳)需要往服務區傳輸大量的數據,這些數據是放在http的body里面的,因此需要在建立連接以后,往服務端寫數據。
- 因為總是使用conn.getInputStream()獲取服務端的響應,因此默認值是true。
- public void setDoInput(boolean doinput)將此 URLConnection 的 doInput 字段的值設置為指定的值。
- URL 連接可用於輸入和/或輸出。如果打算使用 URL 連接進行輸入,則將 DoInput 標志設置為 true;如果不打算使用,則設置為 false。默認值為 true。
- public void setDoOutput(boolean dooutput)將此 URLConnection 的 doOutput 字段的值設置為指定的值。
- URL 連接可用於輸入和/或輸出。如果打算使用 URL 連接進行輸出,則將 DoOutput 標志設置為 true;如果不打算使用,則設置為 false。默認值為 false。
簡單一句話:get請求的話默認就行了,post請求需要setDoOutput(true),這個默認是false的。