Android基础知识(二十三):网络请求与HttpURLConnection的基本用法

Android基础知识(二十三):网络请求与HttpURLConnection的基本用法

一、Android网络请求
在过去,Android上发送HTTP请求一般有两种方式:HttpURLConnection以及HttpClient。不过由于HttpClient存在API数量过多、扩展困难等缺点,在Android 6.0系统中,HttpClient功能被完全移除

二、HttpURLConnection的基本用法

  1. 获取HttpURLConnection实例
    创建一个URL对象,并传入目标的网络地址,然后调用openConnection()方法获取HttpURLConnection对象实例。
    在这里插入图片描述
  2. 设置请求方法
    得到HttpURLConnection对象实例后,设置HTTP请求所使用的方法,常用的方法主要有两个:GET和POST。GET表示希望从服务器获取数据,POST表示希望提交数据给服务器。
    在这里插入图片描述
  3. 设置请求头
    设置请求的请求头,例如设置连接超时、读取超时的毫秒数以及服务器希望得到的头信息等。
    在这里插入图片描述
  4. 获取输入流并读取
    使用getInputStream()方法获取到服务器返回的输入流,并对输入流进行读取。
    在这里插入图片描述
  5. 关闭Http连接
    当网络请求结束之后,调用disconnect()方法关闭HTTP连接
    在这里插入图片描述
  6. 使用POST提交数据
    对于想要使用POST方式提交数据给服务器的,使用setRequestMethod()方法设置请求方法为POST,并在获取输入流之前调用getOutputStream()方法获取输出流,通过输出流将POST的数据提交
    需要注意的是每条数据都要以键值对的形式存在,数据与数据之间用“&”符号隔开。
    在这里插入图片描述
    另外,当使用网络请求时,由于在主线程中使用网络请求会造成主线程阻塞,因此一般都是在子线程中进行网络请求

三、HttpsURLConnection
相比于HttpURLConnection,HttpsURLConnection的不同之处在于其作用于HTTPS协议,而HttpURLConnection作用于HTTP协议。
在用法上没有较大的区别。

参考资料:《第一行代码 Android 第2版》

猜你喜欢

转载自blog.csdn.net/weixin_38196407/article/details/89677461