HttpUrlConnection

HttpUrlConnection继承UrlConnection。抽象类URLConnection是表示应用程序和URL之间的通信链接的所有类的超类。

 

1.HttpUrlConnection 对象通过Url对象的 openConnection方法来得到。 先用 url = New Url(访问url地址)得到一个url对象。

2.设置一些 HttpUrlConnection对象的一些参数,比如:

setAllowUserInteraction
setDoInput            //设置是否可以接受连接数据
setDoOutput                   //设置是否可以写入连接
setIfModifiedSince
setUseCaches
conn.setRequestMethod("GET"); // 设置请求方式 或是post

3. HttpUrlConnection对象的 connection方法来建立连接。

 

4.使用get方法请求时直接吧需要传递的数据写在加在url的后面。

   使用Post方法时:

 1  1 // 现在通过输出流对象构建对象输出流对象,以实现输出可序列化的对象。   
 2   2  ObjectOutputStream objOutputStrm = new ObjectOutputStream(outStrm);   
 3  3   
 4  4  // 向对象输出流写出数据,这些数据将存到内存缓冲区中   
 5   5  objOutputStrm.writeObject(new String("我是测试数据"));   
 6  6   
 7  7  // 刷新对象输出流,将任何字节都写入潜在的流中(些处为ObjectOutputStream)   
 8   8  objOutputStm.flush();   
 9  9   
10  10  // 关闭流对象。此时,不能再向对象输出流写入任何数据,先前写入的数据存在于内存缓冲区中,   
11  11  // 在调用下边的getInputStream()函数时才把准备好的http请求正式发送到服务器   
12  12  objOutputStm.close();   
13  13   
14  14  // 调用HttpURLConnection连接对象的getInputStream()函数,   
15  15  // 将内存缓冲区中封装好的完整的HTTP请求电文发送到服务端。   
16  16  InputStream inStrm = httpConn.getInputStream(); // <===注意,实际发送请求的代码段就在这里   
17  17   
18 18  // 上边的httpConn.getInputStream()方法已调用,本次HTTP请求已结束,下边向对象输出流的输出已无意义,   
19 19  // 既使对象输出流没有调用close()方法,下边的操作也不会向对象输出流写入任何数据.   
20 20  // 因此,要重新发送数据时需要重新创建连接、重新设参数、重新创建流对象、重新写数据、   
21 21  // 重新发送数据(至于是否不用重新这些操作需要再研究)   
22 22  objOutputStm.writeObject(new String(""));   
23 23  httpConn.getInputStream()

5. HttpUrlConnection对象的disconnect来端来连接。

 

示应用程序和URL之间的通信链接的所有类的超类

posted @ 2017-08-05 21:53  halo-漾  阅读(136)  评论(0编辑  收藏  举报