1.前言                              

上次,在博客里谈谈了【GET & POST】的区别,这次准备主要是分享一下自己对【GET & POST】的理解和实现的主要步骤。

在这就不多废话了,直接进主题,有什么不足的欢迎大家指出来。

网络访问两种常用方式【GET & POST】的区别

2.GET                             

2.1. 定义URL,确定要访问的地址                           

NSURL *url = [NSURL URLWithString:urlString];

2.2定义URLRequest,确定网络访问请求,在GET方法中直接用URL即可        

这里的参数,主要是为了防止卡死的情况,在最多读取数据时间2秒内给用户答复,提高用户体验!

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];

NSURLResponse *response = nil;

NSError *error = nil;

2.2.1同步请求(应用场景:网银账户的登录)                                            

// 一定要获取到某个网络返回数据后,才能进行下一步操作的场景!

// 发送同步请求,respone&error要带地址的原因就是为了方法执行后,能够方便使用response&error

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

2.2.2异步方法                                                        

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

// 块代码的内容会在网络访问后执行

// 块代码是预先定义好的代码片段,在满足某个条件时执行的。

}];

3.POST                            

3.1. 定义URL,确定要访问的地址                           

NSURL *url = [NSURL URLWithString:urlString];

3.2. 定义请求,生成数据体添加到请求                         

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

1) 指定网络请求的方法

request.HTTPMethod = @"POST";

2) 生成数据体

 // * 先生成字符串

 NSString *bodyStr = [NSString stringWithFormat:@"username=%@&password=%@", userName, password];

 // * 将字符串转换成NSData

 request.HTTPBody = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];

// 提示:POST请求多用于用户登录,或者上传文件,在实际开发中,“POST请求的参数及地址”需要与公司的后端程序员沟通。

// POST同样具备同步和异步方法,在这里就不做分别实现了。

                                                          清澈Saup

iOS- 网络访问两种常用方式【GET & POST】实现的几个主要步骤的更多相关文章

  1. iOS- 网络请求的两种常用方式【GET & POST】的区别

    GET和POST 网络请求的两种常用方式的实现[GET & POST] –GET的语义是获取指定URL上的资源 –将数据按照variable=value的形式,添加到action所指向的URL ...

  2. Windows校验文件哈希hash的两种常用方式

    大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像 ...

  3. Java中常用到的文件操作那些事(二)——使用POI解析Excel的两种常用方式对比

    最近生产环境有个老项目一直内存报警,不时的还出现内存泄漏,导致需要重启服务器,已经严重影响正常服务了.获取生成dump文件后,使用MAT工具进行分析,发现是其中有个Excel文件上传功能时,经常会导致 ...

  4. iOS中的两种搜索方式UISearchDisplayController和UISearchController

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 以前iOS的搜索一般都使用UISearchDisplayCon ...

  5. jenkins中slave节点连接的两种常用方式

    我们在使用jenkins的时候,一般来说肯定是有slave节点的,本来网上也有好多关于jenkins节点配置的教程,我也就不写了.简单说明一下:任务一般是在slave上面运行的.当然不是讲master ...

  6. 实例化Spring容器的两种常用方式

    //在类路径下寻找配置文件来实例化容器 ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"b ...

  7. css 水平垂直居中两种常用方式

  8. kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式

    今天要说的干货是:以Kotlin,在MVP模式下(OKHttp和 Retrofit+RxJava)网络请求两种实现方式的一个小案例,希望对大家有所帮助,效果图: Retrofit是Square公司开发 ...

  9. VMware虚拟机直连物理网络的两种方式

    VMware虚拟机直连物理网络的两种方式   使用VMware构建虚拟机,通常虚拟机都使用NAT模式.这时,虚拟机有独立的网段.使用NAT模式,虚拟机之间数据都通过虚拟网络传输,不会影响实体机所在的实 ...

随机推荐

  1. Redis(八):Redis的复制(Master/Slave)

    Redis的复制(Master/Slave)目录导航: 是什么 能干嘛 怎么玩 复制原理 哨兵模式(sentinel) 复制的缺点 是什么 官网 行话:也就是我们所说的主从复制,主机数据更新后根据配置 ...

  2. nginx通过upstream实现负载均衡

    随着业务和用户不断增加,单台服务器无法满足业务需求,产生服务器集群的场景.为了能充分利用服务器集群,最理想的方式就是整个集群的利用率都很平均且稳定在理想值范围内. 负载均衡(Load Balance) ...

  3. .Net Core如何在任意位置获取配置文件的内容

    前几天群里有人问,我想在程序里的任意位置读取appsetting.json里的配置,该怎么搞. 话不多说上源码 首先,要想读取配置文件我们要用到IConfiguration 接口,这个接口在Start ...

  4. yii学习笔记(4),获取请求数据的request组件

    yii在控制器中获取请求数据需要通过request组件来完成 <?php namespace app\controllers; use yii; use yii\web\Controller; ...

  5. 基于CentOS-6.9_x64系统QT环境搭建

    想从事QT开发的人员,首先要做的第一件事就是开发环境的搭建.本人也是一位刚入门的新手,为了搭建这么一个环境,参考了很多的网上教程,然而中间依然走了不少弯路.现将过程记录下来. 一.开发环境    Ce ...

  6. NOI2002银河英雄传说-带权并查集

    [NOI2002]银河英雄传说-带权并查集 luogu P1196 题目描述 Description: 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年, ...

  7. C/S与B/S 区别以及优缺点

    1.什么是C/S结构 C/S (Client/Server)结构,即客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现 ...

  8. 笔记-django第一个项目

    笔记-django第一个项目 1.      创建项目 安装 Django 之后,现在有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 看下djang ...

  9. See You Again——我最后的汇编程序

    汇编语言:课程设计2 前言 由于本人水平不够,这里的课程设计2的程序实现并没有像王爽书中所说的那样可以不依赖于操作系统运行. 这里的程序依然要在dos下运行,而且没有实现引导现有操作系统的功能. 该程 ...

  10. 16 pep8 编码规范

    pep8 编码规范 Python Enhancement Proposals :python改进方案 https://www.python.org/dev/peps/ 1. 每级缩进用4个空格. 括号 ...