美文网首页
iOS AFN提示3840 Unescaped control

iOS AFN提示3840 Unescaped control

作者: 梦iOS | 来源:发表于2017-02-23 15:51 被阅读0次

原因在于出现特殊字符是AFNetworking无法解析的,会直接报错,那么当你在发post请求时,返回结果会直接进如fail代码块,其实在fail中用operation的nsstring可以直接输出接收到的数据,是string形,可以清楚的看到服务器端数据有哪些含有特殊字符,但是有一些字符是不好看到的,比如“TAB”(制表)键打出的那种四个空格,项目中用户有时候很常用到tab键,最好的方法是在AFNetworking源码中添加字符过滤功能

处理办法:找到AFNetworking包中AFURLResponseSerialization.m文件,大概在第256行的if(responseString && ![responseStringisEqualToString:@" "])(此时已将data转化为responseString形)条件下面添加如下过滤方法:

NSCharacterSet*controlChars = [NSCharacterSetcontrolCharacterSet];

NSRange range = [responseStringrangeOfCharacterFromSet:controlChars];

if(range.location!= NSNotFound)

{

NSMutableString*mutable= [NSMutableStringstringWithString:responseString];

while(range.location!= NSNotFound)

{

[mutabledeleteCharactersInRange:range];

range = [mutablerangeOfCharacterFromSet:controlChars];

}

responseString =mutable;

}

这只是处理一种情况,欢迎大家补充

相关文章

  • iOS AFN提示3840 Unescaped control

    原因在于出现特殊字符是AFNetworking无法解析的,会直接报错,那么当你在发post请求时,返回结果会直接进...

  • iOS AFN 3840

    3840是返回格式不能解析具体原因呢大部分服务器返回JSON 我们这么接受 本地AF 自动转化为3840错误。但是...

  • JSON

    总是报错:Error Domain=NSCocoaErrorDomain Code=3840 "Unescaped...

  • JSON过滤制表符

    使用NSJSONSerialization解析JSON的时候,出现错误码为3840,信息Unescaped con...

  • iOS AFN报错:code = 3840

    afn默认接收或获取json数据,有时候可能会用到字符串数据 ss.requestSerializer = [AF...

  • iOS JSON解析:Unescaped control cha

    0x00 返回的数据中包含控制字符需要进行遍历删除 参考 https://www.jianshu.com/p/e3...

  • AFN 报错 3840

    Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did ...

  • Unescaped control character arou

    问题:在json字符串转换为对象的时候报错,字面意思为 数据中出现了被控制- 的符号 解决思路:遍历字符串,找到对...

  • 关于AFN请求:3840的返回问题

    3840的出现的原因,是你后台数据的格式不是json或者AFN能识别的样式,AFN框架未能...

  • AFN 3840 -1016错误

    ∂转载:http://www.bkjia.com/Androidjc/900180.html 在进行网络请求时出现...

网友评论

      本文标题:iOS AFN提示3840 Unescaped control

      本文链接:https://www.haomeiwen.com/subject/tmjbwttx.html