Android之使用HTTP协议访问网络

本文介绍了Android中使用HTTP协议访问网络的基本概念,包括HTTP的工作原理、URL结构、TCP/IP协议的三次握手、HTTP请求方法以及OSI模型。此外,还讲解了HTTP/1.0与HTTP/1.1的区别,并提供了使用HttpURLConnection和HttpClient发送HTTP请求的示例代码,提倡网络编程的最佳实践。
摘要由CSDN通过智能技术生成

智者一切求自己,愚者一切求他人。


本讲内容:HTTP协议(超文本传输协议)


一、HTTP协议工作原理

四步骤:建立连接, 发送请求,服务器响应(响应码),接受信息(然后断开连接)

即当客户端向服务器发出一条HTTP请求,服务器收到请求之后会返回一些数据给客户端,然后客户端再对这些数据进行解析和处理就可以了。


二、统一资源定位符(URL)也被称为网页地址,是因特网上标准的资源的地址。
URL的格式由下列三部分组成:(http://www.imooc.com/video
第一部分是协议(或称为服务方式)
第二部分是存有该资源的主机IP地址(有时也包括端口号)
第三部分是主机资源的具体地址,如目录和文件名等
第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”符号隔开
第一部分和第二部分是不可缺少的,第三部分有时可以省略,现在几乎所有的URI(通用资源标志符)都是URL


三、TCP/IP协议(TCP(传输控制协议)和IP(网际协议)。)

SYN(synchronous)是TCP/IP建立连接时使用的握手信号,在客户机和服务器之间建立正常的TCP网络连接时,
客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。
这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。

ACK(Acknowledgement)即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。


TCP/IP协议的三次握手


四、http协议请求的方式
GET      希望从服务器那里获取数据
POST    希望提交数据给服务器
HEAD    请求获取由Request-URI所标识的资源的响应消息报头
PUT     请求服务器存储一个资源,并用Requesst-URI作为其标识
DELETE  请求服务器删除Requesst-URI所标识的资源
TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请

Android Studio中使用HTTP访问网络通常涉及到使用HttpURLConnection或者HttpClient进行网络请求操作。首先,需要在AndroidManifest.xml文件中添加网络权限声明,以允许应用程序进行网络访问。接着,需要在Java代码中创建一个新的线程或者异步任务来执行网络请求操作,因为不能在主线程中执行网络请求,否则会导致程序崩溃。 使用HttpURLConnection进行网络请求时,需要创建一个URL对象,然后通过openConnection()方法得到HttpURLConnection对象。接着,可以设置请求的方法(GET、POST等)、请求头、请求参数等,并发送请求。收到响应后,可以通过getInputStream()方法获取输入流,然后解析和处理服务器返回的数据。 另一种方法是使用HttpClient进行网络请求。需要创建一个DefaultHttpClient对象,并通过HttpGet或HttpPost方法创建请求对象。之后可以设置请求头、请求参数等,并使用execute()方法执行请求。同样,收到响应后可以通过获取输入流来处理返回的数据。 需要注意的是,为了避免在主线程中进行网络请求,可以使用AsyncTask或者Thread来进行异步操作。同时,为了适配Android 9.0及以上版本的系统,还需要在网络请求时进行网络安全性配置,例如使用HTTPS协议或者在清单文件中声明网络安全配置。 总之,在Android Studio中使用HTTP访问网络需要遵循网络请求的基本操作步骤,并且需要适配最新的系统版本和网络安全性规范。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值