Android GET和POST完成网络请求

GET和POST的区别

  • GET是从服务器上获得数据,而POST则是向服务器传递数据的
  • GET是不安全的,一些操作会被第三方看到,而POST的所有操作多用户来说是不可见的
  • GET传输的数据量小,主要是因为它受约于URL长度的限制,而POST可以传输大量的数据,所以在传文件的时候会用POST
  • GET限制From表单的数据集的值必须为ASCLL字符,而POST支持整个ISO10646字符集

GET和POST的安全性

关于POST比GET更安全,体现在其数据在地址栏是不可见的角度
但是从传输角度来说,因为HTTP在网络上都是明文传输,所以在传输上它们都很容易被抓包来获取数据报文
想要安全传输需使用HTTPS

GET方法的长度限制

HTTP协议本身没有对URL的长度限制,对URL的限制大多是浏览器和服务器的原因
服务器处理长URL要消耗较多的资源,为了性能和安全(恶意构造长URL进行攻击)考虑,会给URL长度加以限制

HTTP请求限制

创建安全配置文件

  1. 在res文件夹下创建xml/network_security_config文件
  2. 增加cleartextTrafficPermitted属性,设为true

在这里插入图片描述
在这里插入图片描述

添加安全配置文件

  1. AndroidManifest.xml中的Application申明

在这里插入图片描述

GET实现

请求的URL:http://www.imooc.com/api/teacher?type=3&cid=1
在这里插入图片描述

  1. 实例化一个URL对象
  2. 获取HttpURLConnection实例
  3. 设置和请求相关的属性
  4. 获取响应码
  5. 判断响应码并获取响应数据(响应正文)
    private void get() {
   
        try {
   
            // HttpURLConnection
            // 1.实例化一个URL对象
            URL url = new URL("http://www.imooc.com/api/teacher?type=3&cid=1");

            // 2.获取HttpURLConnection实例
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();

            // 3.设置和请求相关的属性
            /// 请求方式
            conn.setRequestMethod("GET");
            /// 请求超时时长
            conn.setConnectTimeout(6000);

            // 4.获取响应码  200:成功  404&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值