ios网络开发 AFNetworking

一、早前的几个网络框架

1、ASI框架: HTTP终结者.很牛, 但是有BUG, 已经停止更新.

2、MKNetworkKit (印度人写的).

3、AFN一直还在更新.

AFNetworking的出现:MAC/iOS设计的一套网络框架.(为了简化网络操作)

地址:https://github.com/AFNetworking/AFNetworking

*AFN专注与网络数据传输,以及网络中多线程的处理.

二、AFNetworking的使用

1、AFN特性 :

*登录传参数时,传递字典即可.(键名为参数名,键值为参数值).

*自动到子线程中执行,执行完后返回主线程.

*返回的结果自动序列化为NSDictionary.

2、使用AFN注意 :

*AFHTTPRequestOperationManager封装了通过HTTP协议与Web应用程序进行通讯的常用方法.(这个实例化的时候不是单例, 因为没有shared字)

*包括创建请求/响应序列化/网络监控/数据安全.

*方法等都是以AF开头的.

3、AFN能做的 (网络中的都涵盖了):

*GET/POST/PUT/DELETE/HEAD请求.

*JSON数据解析/Plist数据解析.(不支持XML数据解析)

*POSTJSON.

*上传/下载.

4、使用步骤 : (可参考说明文档)

1.首先需要实例化一个请求管理器AFHTTPRequestOperationManager.

2.设置请求的数据格式:默认是二进制.(不是可改)

*AFHTTPRequestSerializer(二进制)

*AFJSONRequestSerializer(JSON)

*AFPropertyListRequestSerializer(Plist)

3.设置响应的数据格式:默认是JSON.(不是可改)

*AFHTTPResponseSerializer(二进制)

*AFJSONResponseSerializer(JSON)

*AFPropertyListResponseSerializer(Plist)

*AFXMLParserResponseSerializer(XML)

*AFImageResponseSerializer(Image)

*AFCompoundResponseSerializer(组合的)

4.如果响应者的MIMEType不正确,就要修改acceptableContentTypes.

5.调用方法,发送响应的请求(GET/POST...).

 

AFN进行GET、POST请求:

1   AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
2   manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
3   [manager GET:@"http://www.weather.com.cn/data/sk/101010100.html" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
4         NSLog(@"JSON: %@", responseObject);
5  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
6         NSLog(@"Error: %@", error);
7  }];

结果为:

2014-11-05 17:08:26.219 TestAFNetWorking[27957:70b] JSON: {

    weatherinfo =     {

        Radar = "JC_RADAR_AZ9010_JB";

        SD = "20%";

        WD = "\U897f\U5357\U98ce";

        WS = "2\U7ea7";

        WSE = 2;

        city = "\U5317\U4eac";

        cityid = 101010100;

        isRadar = 1;

        njd = "\U6682\U65e0\U5b9e\U51b5";

        qy = 1014;

        temp = 17;

        time = "16:45";

    };

}

时间: 2024-09-28 22:31:03

ios网络开发 AFNetworking的相关文章

iOS网络开发-AFNetworking请求asp.net WebService

看到园子有位朋友需要使用AFN框架请求 WebService,所以就整理了一下,demo下载链接在底部 编写WebService可以看这篇博客 http://www.cnblogs.com/linmingjun/p/4606451.html //使用AFN请问无参方法 //使用AFN无参 -(void)AfnDemo { NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://115.2

IOS网络开发NSURLSession详解(一)概述

原创blog,转载请注明出处blog.csdn.net/hello_hwc 我的IOS-SDK详解专栏,欢迎关注 http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html 前言: 这个IOS网络编程的系列计划6篇文章,NSURLSession3篇(一篇概述,一篇详细阐述三种task和delegate的使用,一篇阐述授权,证书等内容),网络的基础知识两篇(一篇REST API讲解已经写完了,一篇我会把写博客的过程中遇到的概念总结出来

IOS网络开发概述

概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 目 录 Web请求和响应 使用代理

ios网络开发

概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 目 录 Web请求和响应 使用代理

iOS网络开发(1)写代码前需要了解的

从本篇文章开始,介绍一些网络开发中用到的技术. iOS的网络开发中,特别是应用开发,使用Http协议作为主要的通信手段 写代码前,先了解一些与协议相关联的内容,包括: URL的概念 HTTP与HTTPS HTTP请求的内容及请求对象 HTTP应答的内容及请求对象 URL URL:统一资源标示符,可以表示一个资源的路径,这个路径可以是本地的.网络上的. URL是对可以从互联网上得到的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址. 互联网上每一个文件都有唯一一个URL,它包含的信息指出文

IOS 网络开发NSURLSession(四)UploadTask(上传数据+图片)

原创blog,转载请注明出处 blog.csdn.net/hello_hwc 前言: UploadTask继承自DataTask.不难理解,因为UploadTask只不过在Http请求的时候,把数据放到Http Body中.所以,用UploadTask来做的事情,通常直接用DataTask也可以实现.不过,能使用封装好的API会省去很多事情,何乐而不为呢? Demo下载链接 http://download.csdn.net/detail/hello_hwc/8557791 Demo里包括了三种T

IOS网络处理——AFNetworking的简单使用

ios处理网络请求,用的比较多的是第三方工具类AFNetworking,因为原生的比较麻烦. 如登录时发送账号跟密码跟后台比对,过程如下,后台返回的是json,如 {"login":{"id":"0001","status":"OK","errorMsg":""}} 下面是使用时的举例. 1 #import "AFNetWorking.h" 2 3

IOS网络开发实战(二)

1 飞机航班查询软件 1.1 问题 NSURLConnection是IOS提供的用于处理Http协议的网络请求的类,可以实现同步请求也可以实现异步请求,本案例使用NSURLConnection类实现一个飞机航班查询的工具软件,采用GET的同步请求方式访问网络数据,如图-1所示: 图-1 1.2 方案 首先创建一个SingleViewApplication应用,在Storyboard文件中搭建查询界面,上方的三个Textfield控件分别用于接受用户输入的出发城市.到达城市和触发日期,界面中间有一

IOS网络开发(二)

1 局域网群聊软件 1.1 问题 UDP协议将独立的数据包从一台计算机传输到另外一台计算机,但是并不保证接受方能够接收到该数据包,也不保证接收方所接收到的数据和发送方所发送的数据在内容和顺序上是完全一致的. UDP广播就是建立于UDP协议上的数据传输,当网络中的某一台计算机向交换机或路由发送一个广播数据时,交换机或路由则会将此广播数据发送到其节点下的所有接收者.本案例使用第三方Socket编程框架AsyncUdpSocket框架,基于UDP广播实现一个局域网群聊软件,一个基于UD广播的聊天室程序