`

[IOS]如何使用AFNetwork,并获得.txt的值

    博客分类:
  • IOS
阅读更多

1. 根据上篇文章,先安装好AFNetwork

 

2. 如果url里面是.txt这类的,会报错:

”Request failed: unacceptable content-type: text/plain” 错误

 有2个方法:

一. 修改源码, 在AFN的AFURLResponseSerialization.m文件中,修改init方法中。

self.acceptableContentTypes = [NSSet setWithObjects: @"application/json", @"text/json", @"text/javascript", nil];

 

二.不修改源码:

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];

 

参考: https://blog.csdn.net/msn465780/article/details/76599782

 

3.错误:关于JSON text did not start with array or object and option to allow fragments not set 错误

这是因为 AFNetworking默认把响应结果当成json来处理,(默认manager.responseSerializer = [AFJSONResponseSerializer serializer]) ,很显然,我们请求的百度首页 返回的并不是一个json文本,而是一个html网页,但是AFNetworking并不知道,它坚信请求的结果就是一个json文本!然后固执地以json的形式去解析,显然没办法把一个网页解析成一个字典或者数组,所以产生了上述错误.

 

然而,我们期望它能够正确地处理这个情形,而不是提示一个错误. 
这时候 你必须告诉AFNetworking:别把这个网页当json来处理! 
只需要在发送请求前加入:

manager.responseSerializer = [AFHTTPResponseSerializer serializer]

 

参考:https://www.cnblogs.com/akiha/p/5775729.html

 

4.使用方法:

NSLog(@"AFNetworking start.......");
    
    [self AFNetworkStatus];
    
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    NSString *url = @"your url path";
    
    [manager GET:url parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
        
    }
         success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        
        NSLog(@"AFNetworking 请求成功:%@",responseObject);
        NSString *result = [[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding];
        NSLog(@"AFNetworking result: %@",result);
        
    }
         failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull   error) {
        
        NSLog(@"AFNetworking 请求失败:%@",error);
        
    }];

}

 其他使用方法参考:

https://blog.csdn.net/twier_/article/details/86711245

 

 
分享到:
评论

相关推荐

    ios-AFNetwork封装.zip

    本压缩包"ios-AFNetwork封装.zip"包含了一个针对AFNetworking的简单封装,使得使用起来更加便捷。 AFNetworking是一个基于Foundation框架的轻量级网络库,它支持HTTP和HTTPS协议,可以进行GET、POST、PUT、DELETE等...

    Beginning.iOS.5.Development.Exploring.the.iOS.SDK.pdf.zip )

    Beginning.iOS.5.Development.Exploring.the.iOS.SDK.pdf.zip ) 您可以上传小于50MB的文件Beginning.iOS.5.Development.Exploring.the.iOS.SDK.pdf.zip ) 您可以上传小于50MB的文件Beginning.iOS.5.Development....

    iOS.8.App.Development.Essentials

    Title: iOS 8 App Development Essentials Author: Neil Smyth Length: 824 pages Edition: 1 Language: English Publisher: CreateSpace Independent Publishing Platform Publication Date: 2014-12-16 ISBN-10: ...

    ios-网络请求管理库,基于对AFNetwork的封装.zip

    本资源“ios-网络请求管理库,基于对AFNetwork的封装.zip”提供了一个针对AFNetworking的封装,旨在简化网络请求的管理和执行,提高开发效率。下面将详细介绍这个网络请求管理库的主要功能和用法。 **AFNetworking...

    PDF_Beginning.iOS.5.Development.Exploring.the.iOS.SDK.David.Ma

    《PDF_Beginning.iOS.5.Development.Exploring.the.iOS.SDK.David.Ma》这本书全面解析了iOS 5的开发,结合Xcode 4的新特性和应用方法,为开发者提供了丰富的学习资源。以下是根据书名和描述提炼出的关键知识点,以及...

    苹果apple解锁支持IOS11~IOS13.5.rar

    使用AltStore 越狱 iOS 13.5 1.下载并安装最新版本的AltStore。 2.在菜单栏中的AltStore图标上点击右键,安装Mail插件,如果你是在Mac上,请安装Mail插件。打开Mail app,进入 "首选项">"管理插件 "并允许AltPlugin...

    卡卡贷小额贷款超市网站系统源码支持封装安卓+IOS+对接征信验证.txt

    卡卡贷小额贷款超市网站系统源码支持封装安卓+IOS+对接征信验证.txt

    The.iOS.Apprentice.2nd.Edition.2013

    《iOS Apprentice 第二版》是iOS开发初学者的宝贵资源,这套教程涵盖了iOS应用开发的基础到进阶知识。从2013年开始,它已经帮助无数开发者迈入了iOS编程的大门。通过以下五个章节的文件,我们可以深入学习iOS开发的...

    iOS15系列 DeviceSupport.

    iOS15系列 DeviceSupport. 包括15.0、15.2、15.4、15.5,覆盖iOS15全系列机型 【使用方法】解压后导入以下目录: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

    iOS解压.tar, .tar.gz, .tgz or .gzip文件

    可以非常简便地解压.tar, .tar.gz, .tgz or .gzip文件,还可以自定义解压后的路径。 可以非常简便地解压.tar, .tar.gz, .tgz or .gzip文件,还可以自定义解压后的路径。

    部署IOS防火墙AP.txt

    部署IOS防火墙AP.txt 部署IOS防火墙AP.txt 部署IOS防火墙AP.txt 部署IOS防火墙AP.txt

    ios-iOS动画和特效demo.zip

    - [iOS动画和特效(六)swift动画库spring使用和代码拆解](http://liuyanwei.jumppo.com/2015/11/22/iOS-library-spring.html) - [iOS动画和特效(七)仿射变换-CGAffineTransform]...

    ios_private.db.zip

    总结来说,"ios_private.db.zip" 是一个用于检测iOS应用私有API使用的工具,通过解析和比对数据库中的信息,开发者可以找出并修复可能存在的问题,从而符合App Store的审核规范。在iOS开发过程中,了解和遵守这些...

    iOS应用安全攻防视频.txt

    2. **内存安全**:iOS使用ARC(自动引用计数)机制帮助开发者管理内存,但开发者仍需注意避免内存泄漏或野指针等问题。 3. **网络通信安全**:使用HTTPS协议进行数据传输,并采用证书校验、SSL/TLS加密等方式加强...

    iOS.9.App.Development.Essentials

    iOS 9 App Development Essentials is latest edition of this popular book series and has now been fully updated for the iOS 9 SDK, Xcode 7 and the Swift 2 programming language. Beginning with the ...

    iOS-Tagent-master.zip

    网易airtest for mac必备agent, iOS-Tagent 其实就是 WebDriverAgent 仔细看,会发现iOS-Tagent会比WebDriverAgent简略得多。 iOS-Tagent其实就是WDA的优化版本。 git clone ...

    最新款Tshop五合一商城系统开源PC端+wap+微信+Android+IOS等带安装教程.txt

    最新款Tshop五合一商城系统开源PC端+wap+微信+Android+IOS等带安装教程.txt

    MAME4iOS.2021.7.MAME.234.ipa

    MAME4iOS.2021.7.MAME.234.ipa

    一些iOS高效开源类库地址.txt

    4. **更新维护**:定期更新和维护,确保了类库与最新的iOS版本兼容,并修复了已知的问题。 ### 探索提供的资源链接 提供的链接指向了CocoaChina网站上的一篇文章,虽然具体的类库列表没有在给定的信息中列出,但...

    价值1w的伊语IM即时通讯源码im商城系统纯源码IM通讯系统安卓+IOS前端纯原生源码.txt

    价值1w的伊语IM即时通讯源码im商城系统纯源码IM通讯系统安卓+IOS前端纯原生源码.txt

Global site tag (gtag.js) - Google Analytics