HttpUrlConnection的setDoOutput與setDoInput的區別


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的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM