1、常用的类
     
NSURL:请求地址
NSURLRequest:一个NSURLRequest对象就代表一个请求,它包含的信息有:
     一个NSURL对象
     请求方法、请求头、请求体
     请求超时
     …...
NSMutableURLRequest:NSURLRequest的子类
 
NSURLConnection
     负责发送请求,建立客户端和服务器的连接。
     发送数据给服务器,并收集来自服务器的响应数据。
 
 
 
 
2、NSURLConnection发送请求,常见的发送请求(默认都是GET请求)方式(都是类方法哦)有以下几种:
 
 2-1.第一种GET请求方法:直接通过同步或异步请求(一般都是使用不会堵塞的异步请求)
  • 同步请求
+ (NSData*)sendSynchronousRequest:(NSURLRequest*)request returningResponse:(NSURLResponse**)response error:(NSError**)error;
 
 
  • 异步请求
+ (NSData*)sendASynchronousRequest:(NSURLRequest*)request returningResponse:(NSURLResponse**)response error:(NSError**)error;
 
 
 2-2.第二种GET请求方法:使用NSURLConnectDataDelegate协议中的代理方法 (默认都是GET请求)
 <代理方法内部其实是异步请求,所以不会堵塞>
  • 开始接收服务器的响应时调用
- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response;
  • 接收到服务器返回的数据时调用(服务器返回的数据比较大时会调用多次)
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data;
  • 服务器返回的数据完全接收完毕后调用
- (void)connectionDidFinishLoading:(NSURLConnection*)connection;
  • 请求出错时调用(比如请求超时)
- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error;
 
总结:
     连接(connection)开始接收响应,那么最后面的参数有response(响应)。
     连接(connection)接收到数据,那么最后面的参数有data(数据)。
     连接(connection)接收完毕(DidFinishLoading),那么最后面没有参数了。
     连接(connection)请求错误,那么最后面的参数就是error(错误)。
其中第三种方法需要调用start方法,前两种方法不需要。
 
3、NSConnection发送POST请求,使用NSMutableURLRequest
NSMutableURLRequest是URLRequest的子类,常用的方法都是设置“set”(只要敲出set就能导出相关方法)相关的方法:
 
  • 设置请求超时等待时间(超过这个时间就算超时,请求失败)
-(void)setTimeoutInterval:(NSTimeInterval)seconds;
 
 
  • 设置请求方法(比如GET和POST)
-(void)setHTTPMethod:(NSString *)method;
 
  • 设置请求体
-(void)setHTTPBody:(NSData *)data;
 
  • 设置请求头
-(void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field;
 
 
因为NSMutableURLRequest是Mutable的,所以可以重新设置请求方法,可以将之前默认GET方法设置为POST请求。
 如果服务器端需要接收客户端信息,那么可能就需要下面的setValue forHTTPHeaderField方法。
 
额外积累:
 
interval 英 'ɪntəv(ə)l  美 'ɪntɚvl  n. 间隔;间距;幕间休息

iOS开发网络篇—NSURLConnection基本使用(二)的更多相关文章

  1. iOS开发网络篇—NSURLConnection基本使用

    iOS开发网络篇—NSURLConnection基本使用 一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据 ...

  2. iOS开发网络篇--NSURLConnection

    S简介 NSURLConnection: 作用: 1.负责发送请求,建立客户端和服务器的连接发送数据给服务器 2.并收集来自服务器的响应数据 步骤: 1.创建一个NSURL对象,设置请求路径 2.传入 ...

  3. iOS开发网络篇—NSURLConnection基本使用(一)

      一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法.请求头.请求体.. ...

  4. swift开发网络篇—NSURLConnection基本使用

    iOS开发网络篇—NSURLConnection基本使用 一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据 ...

  5. iOS开发网络篇—数据缓存

      iOS开发网络篇—数据缓存 一.关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的. 上面的情况会造 ...

  6. iOS开发网络篇—HTTP协议

    iOS开发网络篇—HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...

  7. iOS开发网络篇—发送json数据给服务器以及多值参数

    iOS开发网络篇—发送json数据给服务器以及多值参数 一.发送JSON数据给服务器 发送JSON数据给服务器的步骤: (1)一定要使用POST请求 (2)设置请求头 (3)设置JSON数据为请求体 ...

  8. iOS开发网络篇—发送GET和POST请求(使用NSURLSession)

    iOS开发网络篇—发送GET和POST请求(使用NSURLSession) 说明: 1)该文主要介绍如何使用NSURLSession来发送GET请求和POST请求 2)本文将不再讲解NSURLConn ...

  9. 02.iOS开发网络篇—HTTP协议

    iOS开发网络篇—HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...

随机推荐

  1. 斜堆(一)之 C语言的实现

    概要 本章介绍斜堆.和以往一样,本文会先对斜堆的理论知识进行简单介绍,然后给出C语言的实现.后续再分别给出C++和Java版本的实现:实现的语言虽不同,但是原理如出一辙,选择其中之一进行了解即可.若文 ...

  2. [转载]在线文档预览方案-Office Web Apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  3. Android 学习笔记之如何使用SQLite数据库来保存数据...

    PS:最近一阵子都在为考试复习...坑爹的计算机网络,复习了3天,最后该不会的还是不会...明天还考英语...真蛋疼... 学习内容: 1.使用SQLite数据库来保存数据... SQLite:   ...

  4. Eclipse魔法堂:修改主题

    一.前言 习惯黑色主题,而Eclipse默认的白底主题显然不是我的菜,下面一起来修改主题吧! 二.主题资源 Eclipse Color Themes(http://eclipsecolorthemes ...

  5. 【Bootstrap基础学习】00 序

    其实这样的东西很多了,但是我就是要写. 我写这种鬼东西只是为了监督自己,如果能顺便帮一下别人就更好了. 这个系列的基础学习,不会去看实体书,主要是去看网上的资料和官网. Bootstrap就是对jQu ...

  6. 重新想象 Windows 8.1 Store Apps (79) - 控件增强: MediaElement, Frame

    [源码下载] 重新想象 Windows 8.1 Store Apps (79) - 控件增强: MediaElement, Frame 作者:webabcd 介绍重新想象 Windows 8.1 St ...

  7. [PHP] 实现路由映射到指定控制器

    自定义路由的功能,指定到pathinfo的url上,再次升级之前的脚本 SimpleLoader.php <?php class SimpleLoader{ public static func ...

  8. Google OKR 目标管理体系学习

    OKR 全称是「目标和关键成果」(Objectives and Key Results).它是Google在公司创立不足一年的时候,从Intel公司引入的目标管理系统,也常被认为是一套组织测评系统. ...

  9. netty Failed to submit an exceptionCaught() event异常

    最近测试netty开发的服务端应用在关闭时,出现下列异常: ->###WARN#########nioEventLoopGroup-3-2###io.netty.util.internal.lo ...

  10. wap网站safari浏览器和微信cooke不能登录问题

    wap网站safari浏览器cooke不能登录问题: http://wenku.baidu.com/link?url=VnPxl43PySYVygt09vkQ7xwxOD0JCXNtw3Fx7100j ...