[iOS开发]网络请求之---GET和POST

[iOS开发]网络请求之—GET和POST

GET和POST的区别

  1. 从字面意思来看,GET是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求
  2. GET是获取信息,而不是修改信息,类似数据库查询功能一样,数据不会被修改
  3. GET请求的参数会跟在url后进行传递,请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,%XX中的XX为该符号以16进制表示的ASCII,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密。
  4. GET传输的数据有大小限制,因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了,不同的浏览器对URL的长度的限制是不同的。
  5. GET请求的数据会被浏览器缓存起来,用户名和密码将明文出现在URL上,其他人可以查到历史浏览记录,数据不太安全。Post请求则作为http消息的实际内容发送给web服务器,数据放置在HTML Header内提交,Post没有限制提交的数据。
  6. POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获。当数据是中文或者不敏感的数据,则用GET,因为使用GET,参数会显示在地址,对于敏感数据和不是中文字符的数据,则用POST,POST表示可能修改变服务器上的资源的请求。

GET请求使用方法

使用NSURLSession发送GET请求的方法和NSURLConnection类似,整个过程如下:

  1. 确定请求路径(一般由公司的后台开发人员以接口文档的方式提供),GET请求参数直接跟在URL后面
  2. 创建请求对象(默认包含了请求头和请求方法【GET】),此步骤可以省略
  3. 创建会话对象(NSURLSession)
  4. 根据会话对象创建请求任务(NSURLSessionDataTask)
  5. 执行Task
  6. 当得到服务器返回的响应后,解析数据(XML|JSON|HTTP)

方法一:

   //对请求路径的说明
    //http://120.25.226.186:32812/login?username=520it&pwd=520&type=JSON
    //协议头+主机地址+接口名称+?+参数1&参数2&参数3
    //协议头(http://)+主机地址(120.25.226.186:32812)+接口名称(login)+?+参数1(username=520it)&参数2(pwd=520)&参数3(type=JSON)
    //GET请求,直接把请求参数跟在URL的后面以?隔开,多个参数之间以&符号拼接
    
    //1.确定请求路径
    NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/login?username=520it&pwd=520it&type=JSON"];
    
    //2.创建请求对象
    //请求对象内部默认已经包含了请求头和请求方法(GET)
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    
    //3.获得会话对象
    NSURLSession 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值