AFN在进行网络交互时,有时候会碰到返回502、500、404的时候。后台的总需要你配合他查出问题所在。但是AFN在返回数据序列化时解析错误只会转成NSData类型的数据,如果直接扔给后台Data的数据显然有点不靠谱。所以可以在AFURLResponseSerialization.m中加上对data转成string的方法。方法如下:

在AFURLResponseSerialization.m中找到 “AFNetworkingOperationFailingURLResponseDataErrorKey”在其下方加上

#ifdef DEBUG

NSString * const AFNetworkingOperationFailingURLResponseStringErrorKey =  @"com.alamofire.serialization.response.error.string";

#endif

ps:主要是在debug状态下需要调试,所以加上环境的判断防止错误。

第一:

然后分别在- (BOOL)validateResponse:(NSHTTPURLResponse )response data:(NSData )data error:(NSError * __autoreleasing *)error 方法中在判断data的代码中有两处需要替换:

if (data) {

mutableUserInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] = data;

}

替换成、

if (data) {

mutableUserInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] = data;

#ifdef DEBUG

mutableUserInfo[AFNetworkingOperationFailingURLResponseStringErrorKey] = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

#endif

}

之后当你碰到网络错误时。AFN会把错误输出,可以搜索console中搜索com.alamofire.serialization.response.error.string:对应的就是data转成的字符串。

第二:

NSError *underError = error.userInfo[@"NSUnderlyingError"];

NSData *data=underError.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey];

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"%@", str);

AFNetworking 网络错误提示data转换字符串的更多相关文章

  1. intellj(idea) 编译项目时在warnings 页签框里 报 “xxx包不存在” 或 “找不到符号” 或 “未结束的字符串字面值” 或 “需要)” 或 “需要;”等错误提示

    如上图: 环境 是 刚换的系统,重装的Intellj,直接双击老的皇帝项目中的idea的 .iml文件,结果 打开 intellj 后,进行 ctrl +shift +F9 编译时 尽然报 错误提示, ...

  2. maven 编译打包时,明明类文件没有问题,却提示错误:未结束的字符串字面值,maven-compiler-plugin:2.3.2

    maven错误提示如下: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (de ...

  3. chrome下载提示网络错误

    问题背景:项目开发测试阶段出现该问题. 复现:开发调试过程中一直没有问题,本地下载excel.Word.pdf 都完美,但是在服务部署到服务器之后,测试环境的chrome就总是下载失败,提示网络错误. ...

  4. iOS - AFNetworking 网络请求

    前言 在 iOS 开发中,一般情况下,简单的向某个 Web 站点简单的页面提交请求并获取服务器的响应,用 Xcode 自带的 NSURLConnection 是能胜任的.但是,在绝大部分下我们所需要访 ...

  5. AFNetworking网络请求与图片上传工具(POST)

    AFNetworking网络请求与图片上传工具(POST) .h文件 #import <Foundation/Foundation.h> /** 成功Block */ typedef vo ...

  6. 【网络】IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)

    1.htonl ()和ntohl( ) u_long PASCAL FAR ntohl (u_long netlong); u_short PASCAL FAR ntohs (u_short nets ...

  7. 解决Asp.net中的Chart控件运行出现错误提示“ ChartImg.axd 执行子请求时出错”

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABTkAAAJwCAIAAADN5fIdAAAgAElEQVR4nOzdfZAc1X3o/VNFlbcoJf

  8. Logstash:Data转换,分析,提取,丰富及核心操作

    Logstash:Data转换,分析,提取,丰富及核心操作 Logstash plugins Logstash是一个非常容易进行扩张的框架.它可以对各种的数据进行分析处理.这依赖于目前提供的超过200 ...

  9. ***PHP中error_reporting()用法详解(含codeigniter框架中屏蔽错误提示的解决方案)

    php中我们对错误的处理会常用到error_reporting函数了,大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看. e ...

随机推荐

  1. 启用或禁用普通用户Exchange Online PowerShell功能

    默认情况下,允许在 Microsoft 365 中创建的所有帐户都可以使用 Exchange Online PowerShell.管理员可以使用 Exchange Online PowerShell ...

  2. CentOS服务器的网络配置与部署

    1.系统安装与软件安装 1.1选择CentOs7.9release版本用作所研发系统部署服务器,官网以及所选择镜像为地址为:http://ftp.sjtu.edu.cn/centos/7.9.2009 ...

  3. 自定义实例默认值 axios.create(config)

    自定义实例默认值 axios.create(config) 根据指定配置创建一个新的axios,也就就每个新 axios 都有自己的配置 新 axios只是没有取消请求和批量发请求的方法,其它所有语法 ...

  4. windows下端口占用

    1,netstat -ano | findstr 1235 2,taskkill /pid 9772 /f

  5. MAC VMware fusion 12.1.0 Centos7 网络配置

    虚拟机选择NAT模式 获取mac机器中vmnet8的gateway地址 找到 # NAT gateway address这一行,下面的ip就是gateway地址 cat /Library/Prefer ...

  6. 【Microsoft Azure 的1024种玩法】三.基于Azure云平台构建Discuz论坛

    [简介] Discuz!是一套通用社区论坛软件系统,用户在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能.很强负载能力和可高度定制的论坛服务. [前期文章] [操作步骤] ...

  7. MySQL5.5.33对应的JDBC驱动包怎样使用?

    双击msi文件就会自动安装,然后找到安装路径下的jar,并把它加到类路径下,如手动编译和执行时javac -classpath c:\program files\...\mysql.jar;... m ...

  8. [Git专题] 环境搭建

    环境搭建 在正式使用 Git 之前,首先应当安装 Git 并完成一些基础配置,本章内容就教大家在 Ubuntu 和 CentOS 上安装 Git 的方法. 安装 Git 客户端 如果你使用的是基于 D ...

  9. DAS,NAS,SAN,简介

    根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,开放系统指基于Windows.UNIX.Linux等操作系统的服务器;开放系统的存储分为:内置存储和外挂存储;外挂存储根据连接 ...

  10. 【shell】真正解决syntax error:unexpected end of file?

    今天写了个较长的shell脚本,结构嵌套比较多,最后运行时,出现了syntax error: unexpected end of file的错误. 这个之前碰到过,经常在win系统转移脚本文件到uni ...