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

  • 相关阅读:
    长为N的数组,元素范围是0-N-1,其中只有一个数是重复的,找出这个重复元素
    KMP算法
    最长公共子序列,最长公共字串,最长递增子序列
    马走日字问题
    URL详解
    分辨率、像素和PPI
    输入一棵二叉树,判断该二叉树是否是平衡二叉树。
    返回值递归问题
    图像几何变换:旋转,缩放,错切
    数据库事务的四大特性以及事务的隔离级别
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/4629706.html
Copyright © 2020-2023  润新知