IOS开发基础之使用AFNetworking框架下载服务器资源图片
IOS开发基础之使用AFNetworking框架下载服务器资源图片
info.plist加入这句
<key>NSAppTransportSecurity</key>
<dict><key>NSAllowsArbitraryLoads</key><true/>
</dict>
服务器这里我们选择是Java 的 Tomcat 服务器.Net 服务器或者PHP服务器亦可,或者node.js
nginx 服务器都可以 docker 容器服务器都可以,看你自己需求,也做了解析html 网页 数据到控制台。
//
// ViewController.m
// AFN演示
//
// Created by 鲁军 on 2021/2/15.
//#import "ViewController.h"
#import "AFHTTPRequestOperationManager.h"
#import "AFHTTPSessionManager.h"
@interface ViewController ()<NSXMLParserDelegate>@end@implementation ViewController
-(void)getTestHtmlFromServer{AFHTTPSessionManager *manger = [AFHTTPSessionManager manager];manger.responseSerializer = [AFHTTPResponseSerializer serializer];NSString *getUrlStr = @"http://www.baidu.com";NSString *getUrlStr1 = @"http://localhost:8080/MJServer/";[manger GET:getUrlStr parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {NSString *html = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];NSLog(@"%@",html);} failure:^(NSURLSessionDataTask *task, NSError *error) {NSLog(@"%@",error);}];
}
-(void)testGetSession{NSString *strUrl = @"http://localhost:8080/MJServer/video";[[AFHTTPSessionManager manager] GET:strUrl parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {NSLog(@"%@",responseObject);} failure:^(NSURLSessionDataTask *task, NSError *error) {NSLog(@"%@",error);}];
}-(void)downLoadFromServer{NSString *downPath = @"http://localhost:8080/MJServer/resources/images/minion_04.png";NSURL *url = [NSURL URLWithString:downPath];NSURLRequest *request = [NSURLRequest requestWithURL:url];//进度NSProgress *progress = nil;[[[AFHTTPSessionManager manager] downloadTaskWithRequest:request progress:&progress destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {NSString *path =[[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:response.suggestedFilename];NSURL *url = [[NSURL alloc] initFileURLWithPath:path];NSLog(@"targetPath=%@",targetPath);return url;} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {NSLog(@"%@",filePath);}] resume];// 观察progress 的某个属性 fractionCompleted (进度) 是否发生变化//KVO 观察者模式[progress addObserver:self forKeyPath:@"fractionCompleted" options:NSKeyValueObservingOptionNew context:nil];
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context{if([object isKindOfClass:[NSProgress class]]){NSLog(@"%@",change);NSProgress *progress = object;NSLog(@"%@",progress.localizedDescription);NSLog(@"%@",progress.localizedAdditionalDescription);NSLog(@"completedUnitCount = %zd",progress.completedUnitCount);NSLog(@"%f",progress.fractionCompleted);NSLog(@"totalUnitCount = %zd",progress.totalUnitCount);NSLog(@"%@",[NSThread currentThread]); // 子线程上}
}- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.
}- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{// [self get1];//[self post11];// [self testGetSession];// [self downLoadFromServer];// [self getTestHtmlFromServer];[self getAndParseXML];
}
@end
IOS开发基础之使用AFNetworking框架下载服务器资源图片相关推荐
- IOS开发基础之使用AFNetworking框架实现xml文件的解析
IOS开发基础之使用AFNetworking框架实现xml文件的解析 info.plist加入这行代码 <key>NSAppTransportSecurity</key> &l ...
- IOS开发基础之使用AFNetworking框架实现文件上传get和post请求
IOS开发基础之使用AFNetworking框架实现文件上传get和post请求 AFNetworking框架 请自行从github官网clone.命令为 git clone xxx.xxx是项目的地 ...
- IOS开发基础之异步下载网络图片第1部分
IOS开发基础之异步下载网络图片第1部分 加入ATS // LJAppInfo.h // 37-异步下载网络图片 // Created by 鲁军 on 2021/3/10. #import < ...
- iOS开发基础知识--碎片41
iOS开发基础知识--碎片41 1:UIWebView加载本地的HTML NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *bas ...
- iOS开发网络篇—使用ASI框架进行文件下载
iOS开发网络篇-使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: 1 #import "YYView ...
- IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天
IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天 视频资料是2015年的,但是AFN是导入框架的关键文件,我尝试使用cocoapods安装最新的AFN,虽然成功了,但是版本太高, ...
- IOS开发基础之NSURLSession的使用
IOS开发基础之NSURLSession的使用 服务器我们选用的是tomcat服务器. 所有项目info.plist加入 <key>NSAppTransportSecurity</k ...
- IOS开发基础之解压缩文件技术
IOS开发基础之解压缩文件技术 这里我们使用的第三方框架SSZipArchive,第三方依赖libz.tbd 库 ,基于C语言的,加入libz.tbd框架支持. 服务器我们选择是Java Web 的T ...
- IOS开发基础之大转盘案例
IOS开发基础之大转盘案例 本案例使用xib加载的,以及核心动画的使用.动态按钮的使用和创建.等知识. 源码在我的主页资源下.欢迎下载. 核心代码在这. // LJRotateView.h // 37 ...
最新文章
- LeetCode: 2_Add Two Numbers | 两个链表中的元素相加 | Medium
- 虚拟主机linux系统404,虚拟主机404页面的设置方法!
- C++ 数据结构 线性链表
- 信息论 哈夫曼编码 与 菲诺编码的实现(对一幅BMP格式的灰度图像(个人 证件照片)进行二元霍夫曼编码和译码。并进行编码效率的计算,对一幅BMP格式的灰度图像进行二 元Fano编码、译码 )
- texstudio如何安装cjk宏包_MikTex+TexStudio配置论文写作环境
- vscode插件安装失败的解决方案
- 人工智能在安全漏洞方面的应用_智慧消防平台的智慧在哪方面?
- 【TSP】基于matlab蚁群算法求解旅行商问题【含Matlab源码 1130期】
- 软件设计师考试大纲2018
- Shiro完整教程, 附带各种配置
- pwm波控制舵机原理(转)
- UE4 合并静态网格体
- keras的model保存和载入
- C语言高级教程-C语言数组(三)
- 如何设置Xiuno BBS URL-Rewrite(伪静态设定)
- AntDesignVue中Table表格嵌套子表格expandedRowRender插槽用法
- 智联物联路由器openvpn客户端连接linux服务器通讯基本配置
- Android获取系统邮件账号
- APP测试面试题汇总,面试必考一定要看
- HTML5网页设计阶梯教程(2)——插入图片与文字编辑
热门文章
- Linux软件基础实验,linux基本操作的实验
- 下载不了python_Python的下载与安装
- 微型计算机原理课程设计计算器,微机原理课程设计简易计算器的设计.docx
- centos 显示50g硬盘但是 实际大小很小_天啦噜!知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍...
- getparameter方法中文显示问号解决方法_电脑显示器花屏怎么办 电脑显示器花屏解决方法【原因分析】...
- 软件测试团队分为哪些人员,产品团队、开发团队和测试团队是什么关系?
- 《c语言从入门到精通》看书笔记——第3章 数据类型
- php 图像编程库,PHP图像处理开发库
- mysql网页化_页面化操作数据库
- 手动选择显示_QGIS 二次开发笔记(2)——显示图层