HttpURLConnection的post请求总结

24 篇文章 0 订阅
  1. 第一步:创建一个HttpURLConnection 对象
  2.  
  3.  4URL url = new URL("http://localhost:8080/TestHttpURLConnectionPro/index.jsp");   
  4.  5.  
  5. //这里实际上是没有打开连接,而是创建一个HttpURLConnection 对象
  6.  6 HttpURLConnection httpUrlConnection  = (HttpURLConnection )url.openConnection(); 
  7.  7.      
  8. 下面是定义一些基本的常量
  9. public class HttpUtils {


    /*HTTP Request Method*/
    public static final String METHOD_POST = "POST";
    public static final String METHOD_GET = "GET";

    /*HTTP Request Property*/
    public static final String PROPERTY_KEY_01 = "Accept";
    public static final String PROPERTY_KEY_02 = "Accept-Language";
    public static final String PROPERTY_KEY_03 = "Charset";
    public static final String PROPERTY_KEY_04 = "User-Agent";
    public static final String PROPERTY_KEY_05 = "Connection";

    public static final String PROPERTY_VALUE_01_A = "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
    public static final String PROPERTY_VALUE_02_A = "zh-CN";
    public static final String PROPERTY_VALUE_03_A = "UTF-8";
    public static final String PROPERTY_VALUE_03_B = "GBK";
    public static final String PROPERTY_VALUE_03_C = "gb2312";
    public static final String PROPERTY_VALUE_04_A = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.126 Safari/533.4 ChromePlus/1.4.1.0)";
    public static final String PROPERTY_VALUE_05_A = "Keep-Alive";

    /*File Operation*/
    public static final int SIZE_READ_BUFFER = 1024;

    }
  10.      
第二步:填写请求报头
//设置方法
httpURLConnection.setRequestMethod("post");
//设置连接时间
httpURLConnection.setConnectTimeout(delayTime);
//设置一些基本的属性
httpURLConnection.setRequestProperty(HttpUtils.PROPERTY_KEY_01, HttpUtils.PROPERTY_VALUE_01_A);
httpURLConnection.setRequestProperty(HttpUtils.PROPERTY_KEY_02, HttpUtils.PROPERTY_VALUE_02_A);
httpURLConnection.setRequestProperty(HttpUtils.PROPERTY_KEY_03, HttpUtils.PROPERTY_VALUE_03_A);
httpURLConnection.setRequestProperty(HttpUtils.PROPERTY_KEY_04, HttpUtils.PROPERTY_VALUE_04_A);
httpURLConnection.setRequestProperty(HttpUtils.PROPERTY_KEY_05, HttpUtils.PROPERTY_VALUE_05_A);
//以下是对post请求的一些设置

urlCon.setUseCaches(false);
urlCon.setDoInput(true);
urlCon.setDoOutput(true);

  第三步:建立tcp连接:(可是我实际做的时候:openConnection就已经建立连接了,这个connect建立连接估计是再确认一下是否连接)
httpURLConnection.connect();
urlCon.getOutputStream().write(postContent, 0, postContent.length);
urlCon.getOutputStream().flush();
urlCon.getOutputStream().close();

注意与get的不同之处
第四步:获取输入流:读取正文实体
在这之前,你可以调用:httpRequest.getResponseCode();看返回的状态。
httpURLConnection.getInputStream();
第五部:用ByteArrayOutputStream baos = new ByteArrayOutputStream();把数据存储下来。注意这里还是byte流。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值