AFNetworking的理解

使用方法

1. 新建的工程中导入AFNetworking3.0中的(AFNetworking 和UIKit+AFNetworking两个文件夹)

2. 在用到AFNetworking的地方,引入头文件: #import "AFNetworking.h"

3. 在运行完上面这个代码后会出现下面的问题

这是苹果网络安全的问题,解决方法:在项目的info.plist添加一下元素,就可以正常运行了.

4. 问题:将上述的网址用POST方法来请求,会出现的问题

会出现以下错误

我在上面设置了,返回序列的contentType 的类型,但是仍会出现错误,就是因为这个URL只能用GET请求(所以不能用post)

manager.responseSerializer.acceptableContentTypes = [NSSet setWithArray:@[@"text/html", @"", @""]];

5. 问题:拆分GET请求的URL,有可能出现的问题如下:

添加了 (application/json)就成功请求数据了.

6. 问题:URL为POST请求的,就算用post请求也会有错误

错误是这样的

所以知道怎么改了吗?>>>>>添加 (text/plain) 问题完美解决啦!

可以试一下GET请求一下网址.能成功对吧!

7. Upload上传数据,这个没法测试,大致代码如下,我已经测试了

8. 其他问题 :请求数据序列化类型的设置和返回数据序列化类型的设置

/**

注意: 数据返回序列化:二进制流 ,JSON ,XML ..... 默认的类型是JSON类型的,所以平时不需要设置(AFJSONResponseSerializer  AFXMLParserResponseSerializer  AFPropertyListResponseSerializer

像下面这么设置后,返回的数据就变成二进制数据流了.

AFHTTPResponseSerializer *responseSerializer  = [AFHTTPResponseSerializer serializer];

manager.responseSerializer                             = responseSerializer;

*/

/**

注意: 请求序列化,也有几种类型 :二进制   JSON .....默认二进制类型的请求(  AFHTTPRequestSerializer  AFJSONRequestSerializer  AFPropertyListRequestSerializer)

向下面这么设置后,请求的数据就是JSON类型的

AFJSONRequestSerializer *requestSerializer    = [AFJSONRequestSerializer serializer];

manager.requestSerializer                            = requestSerializer;

*/

根据实际情况更改请求数据序列化对象 和 返回数据序列化对象

9.屏蔽垃圾信息

进入一下界面进行修改

源码地址

github地址 https://github.com/makingitbest/AFNetworking-Test.git

AFNetworking的理解的更多相关文章

  1. iOS网络请求-AFNetworking源码解析

    趁着端午节日,自己没有什么过多的安排,准备花4-5天左右,针对网络请求源码AFNetworking和YTKNetwork进行解析以及这两年多iOS实际开发经验(其实YTKNetwork也是对AFNet ...

  2. AFNetWorking 源码粗浅理解

    最近在看AFNetWorking的源码,整理出自己的一点思路.先从一个最简单的网络请求看: NSString *urlStr = [NSString stringWithFormat:@"h ...

  3. 【原】AFNetworking源码阅读(六)

    [原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...

  4. 【原】AFNetworking源码阅读(五)

    [原]AFNetworking源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中提及到了Multipart Request的构建方法- [AFHTTP ...

  5. 【原】AFNetworking源码阅读(四)

    [原]AFNetworking源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇还遗留了很多问题,包括AFURLSessionManagerTaskDe ...

  6. 【原】AFNetworking源码阅读(二)

    [原]AFNetworking源码阅读(二) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中我们在iOS Example代码中提到了AFHTTPSessionMa ...

  7. 【原】AFNetworking源码阅读(一)

    [原]AFNetworking源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 AFNetworking版本:3.0.4 由于我平常并没有经常使用AFNetw ...

  8. AFNetworking 3.0 源码解读 总结(干货)(上)

    养成记笔记的习惯,对于一个软件工程师来说,我觉得很重要.记得在知乎上看到过一个问题,说是人类最大的缺点是什么?我个人觉得记忆算是一个缺点.它就像时间一样,会自己消散. 前言 终于写完了 AFNetwo ...

  9. AFNetworking 3.0 源码解读(九)之 AFNetworkActivityIndicatorManager

    让我们的APP像艺术品一样优雅,开发工程师更像是一名匠人,不仅需要精湛的技艺,而且要有一颗匠心. 前言 AFNetworkActivityIndicatorManager 是对状态栏中网络激活那个小控 ...

随机推荐

  1. Web APi之认证(Authentication)及授权(Authorization)【一】(十二)

    前言 无论是ASP.NET MVC还是Web API框架,在从请求到响应这一过程中对于请求信息的认证以及认证成功过后对于访问页面的授权是极其重要的,用两节来重点来讲述这二者,这一节首先讲述一下关于这二 ...

  2. 使用VS Code开发ASP.NET 5 应用程序

    本文简要地翻译了 https://code.visualstudio.com/Docs/runtimes/ASPnet5 并结合我的实践做了一些说明. 准备工作 1.安装VS Code  https: ...

  3. C# 一个页面,多个Updatepannel,多个Timer

    这几天在搞一个项目,其中一个页面里面有好几组数据要定时刷新,但是,每一组数据要刷新的时间不一样,所以就需要用到多个定时器.本人刚工作不久,对Js 的Ajax不太了解,反而对微软的那个Ajax相对了解一 ...

  4. Android随笔之——用shell脚本模拟用户按键、触摸操作

    之前写过两篇关于Android中模拟用户操作的博客(其实用一篇是转载的),现在就来讲讲用shell脚本来模拟用户按键操作.本次的目标是用shell脚本打开微信并在其搜索框中搜索相关内容. 本文的模拟功 ...

  5. UML中的六大关系(转)

    UML定义的关系主要有六种:依赖.继承.关联.实现.聚合和组合.这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑.这里给出这六种主要UML关系的说明和类图描述, ...

  6. 小白Linux入门 二

    参考: http://edu.51cto.com/lesson/id-11222.html CPU中有计算单元 控制单元.它通过桥接芯片与存储器进行匹配 其中北桥是高速 南桥是低速 包括IDE USB ...

  7. 利用闭包解决for循环里onclick事件不能捕捉实时i值问题

    问题描述 我们都知道,如果我们对于一组元素(相同的标签)同时进行onclick事件处理的时候(在需要获取到索引的时候),一般是写一个for循环,但是onclick是一个异步调用的,所以会带来一个问题, ...

  8. 分享一个基于HTML5实现的视频播放器

    什么是hivideo? 最近一段时间在使用PhoneGap开发一个App应用,App需要播放视频,本想直接使用html5的video,但使用它在全屏播放时不支持横屏播放,只能放弃.最终决定还是自己封装 ...

  9. asp.net 验证控件

    前台文件 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1. ...

  10. 推荐几个Web前端开发实用的Chrome插件

    越来越多的前端开发人员喜欢在Chrome里开发调试代码,Chrome有许多优秀的插件可以帮助前端开发人员极大的提高工作效率.尤其Chrome本身是可以登录的,登录后你所有的插件都会自动同步到每一个登录 ...