setdoinput和setdooutput是什么鬼?他们的默认值分别是什么?
Author:[email protected] Date:
android 6.0默认奇妙地移除了
HttpClient,所以AndroidHttpClient,也跟着移除了+——
AndroidHttpClient 是HttpClient的封装^
官方建议……使用URLConnection……(疯狂原始人么?……
然后,看代码!!
setdoinput和setdooutput ……
这两个的默认值是什么啊!(其实只需要设置一个就可以了……
httpUrlConnection.setDoOutput(true);以后就可以使用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。 (因为总是使用conn.getInputStream()获取服务端的响应,因此默认值是true。
public void setDoOutput(boolean dooutput)将此 URLConnection 的 doOutput 字段的值设置为指定的值。
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输出,则将 DoOutput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 false。 (get请求用不到conn.getOutputStream(),因为参数直接追加在地址后面,因此默认是false。
api上说的很清楚了,楼主不确定是可以先查下java api文档
package com.pagoda.tool; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; /** * Created by lujun on 3/1/2016. */ public class HttpSend { public String sendPost(String url,String param){ PrintWriter printWriter = null; BufferedReader bufferedReader = null; String result=""; try { URL url2=new URL(url); URLConnection connection=url2.openConnection(); connection.setDoInput(true); connection.setDoOutput(true); printWriter=new PrintWriter(connection.getOutputStream()); printWriter.print(param); printWriter.flush(); bufferedReader= new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line=bufferedReader.readLine())!=null){ result+=line; } bufferedReader.close(); } catch (IOException e) { e.printStackTrace(); }finally { try{ if(printWriter!=null){ printWriter.close(); } if(bufferedReader!=null){ bufferedReader.close(); } } catch (IOException e) { e.printStackTrace(); } } return result; } }
转载本站文章《setdoinput和setdooutput是什么鬼?他们的默认值分别是什么?》,
请注明出处:https://www.zhoulujun.cn/html/java/javaBase/7817.html