AFNetworking的简单使用

转自:http://www.cnblogs.com/qianLL/p/5342593.html

pod ‘AFNetworking‘, ‘~>3.0.4‘    <-------第三方

具体他的pod的过过程

http://www.cnblogs.com/qianLL/p/5331624.html

代码如下


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

#import "ViewController.h"

#import "AFNetworking.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    [self Upload];

//    [self dataTask];

//    [self MultiUpload];

//    [self Serialization];

//    [self PostMethod];

//    [self Reacheab];

    

    

}

//下载

-(void)Download{

    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];

    

    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];

    

    NSURL *URL=[NSURL URLWithString:@"example/download"];

    NSURLRequest *request=[NSURLRequest requestWithURL:URL];

    

    NSURLSessionDownloadTask *downloadTask=[manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {

        NSURL *documentsDirectoryURL=[[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];

        return [documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]];

    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {

        NSLog(@"file downloaded to :%@",filePath);

    }];

    [downloadTask resume];

    

}

// 上传

-(void)Upload{

    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];

    

    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];

    

    NSURL *url=[NSURL  URLWithString:@"example/upload.php"];

    

    NSURLRequest *request=[NSURLRequest requestWithURL:url];

    

    NSURL *filePath=[NSURL fileURLWithPath:@"path/aa.txt"];

    

    NSURLSessionUploadTask *uploadTask=[manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

        if (error) {

            NSLog(@"Errof:%@",error);

        }else{

            NSLog(@"Success:%@ %@",response,responseObject);

        }

    }];

    [uploadTask resume];

}

-(void)MultiUpload{

    NSMutableURLRequest *request=[[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"https:example/upload.php"  parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

        [formData appendPartWithFileURL:[NSURL fileURLWithPath:@"path/1.png"] name:@"file" fileName:@"filename.jpg" mimeType:@"image/jpeg" error:nil];

    } error:nil];

    

    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];

    

    NSURLSessionUploadTask *uploadTask;

    

    uploadTask=[manager uploadTaskWithStreamedRequest:request progress:^(NSProgress * _Nonnull uploadProgress) {

        dispatch_async(dispatch_get_main_queue(), ^{

            [[UIProgressView new] setProgress:uploadProgress.fractionCompleted];

        });

    } completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

        if (error) {

            NSLog(@"errof:%@",error);

        }else{

            NSLog(@"%@ %@",response,responseObject);

        }

    }];

    

    [uploadTask resume];

}

// data Task

-(void)dataTask{

    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];

    

    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];

    

    NSURL *url=[NSURL URLWithString:@"http://1.studyios.sinaapp.com/gyxy.php?a=qq"];

    

    NSURLRequest *request=[NSURLRequest requestWithURL:url];

    

    NSURLSessionDataTask *dataTask=[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

        if (error) {

            NSLog(@"Error: %@",error);

        }else{

            NSLog(@"%@ %@",response,responseObject);

        }

    }];

    

    [dataTask resume];

}

//GET方法

-(void)Serialization{

    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];

    

    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];

    NSString *[email protected]"http://1.studyios.sinaapp.com/gyxy.php";

    NSDictionary *[email protected]{@"a":@"BB",@"b":@"CC",@"c":@"aa"};

   NSMutableURLRequest *request= [[AFHTTPRequestSerializer serializer]requestWithMethod:@"GET" URLString:url parameters:parameters error:nil];

    

    NSURLSessionDataTask *dataTask=[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

        if (error) {

            NSLog(@"Error: %@",error);

        }else{

            NSLog(@"%@",responseObject);

        }

    }];

    [dataTask resume];

    

}

//POST

-(void)PostMethod{

    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];

    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];

    NSString *[email protected]"http://1.studyios.sinaapp.com/mypost.php";

    NSDictionary *[email protected]{@"can1":@"abc",@"can2":@"bcd"};

    NSMutableURLRequest *request=[[AFHTTPRequestSerializer serializer] requestWithMethod:@"POST" URLString:url parameters:dic error:nil];

//

//    

    

    NSURLSessionDataTask *dataTask=[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

        if (error) {

            NSLog(@"Error: %@",error);

        }else{

//            NSLog(@"%@",responseObject);

        NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];

            NSLog(@"%@",dic);

        }

    }];

    [dataTask resume];

}

-(void)Reacheab{

    [[AFNetworkReachabilityManager sharedManager]setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        NSLog(@"reacheability:%@",AFStringFromNetworkReachabilityStatus(status));

    }];

    [[AFNetworkReachabilityManager sharedManager] startMonitoring];

}

-(void)SSLCertificates{

    AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];

    manager.securityPolicy.allowInvalidCertificates=YES;

}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

@end

时间: 2024-11-08 12:30:39

AFNetworking的简单使用的相关文章

ios开发中-AFNetworking 的简单介绍

Blog: Draveness 关注仓库,及时获得更新: iOS-Source-Code-Analyze 在这一系列的文章中,我会对 AFNetworking 的源代码进行分析,深入了解一下它是如何构建的,如何在日常中完成发送 HTTP 请求.构建网络层这一任务. AFNetworking 是如今 iOS 开发中不可缺少的组件之一.它的 github 配置上是如下介绍的: Perhaps the most important feature of all, however, is the ama

iOS中AFNetworking的简单使用

GET: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19     // 1.获得请求管理者     AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];          // 2.封装请求参数     NSMutableDictionary *params = [NSMutableDictionary dictionary];     par

iOS开发 -------- AFNetworking实现简单的断点下载

一 实现如下效果 二 实现代码 1 // 2 // ViewController.m 3 // AFNetworking实现断点下载 4 // 5 // Created by lovestarfish on 15/11/15. 6 // Copyright © 2015年 大爱海星星. All rights reserved. 7 // 8 #define kURL @"http://61.163.117.26/wvideo.spriteapp.cn/video/2015/0714/55a4be

IOS网络处理——AFNetworking的简单使用

ios处理网络请求,用的比较多的是第三方工具类AFNetworking,因为原生的比较麻烦. 如登录时发送账号跟密码跟后台比对,过程如下,后台返回的是json,如 {"login":{"id":"0001","status":"OK","errorMsg":""}} 下面是使用时的举例. 1 #import "AFNetWorking.h" 2 3

AFNetworking 简单应用

最近最学习 AFNetworking ,根据自己所学对 AFNetWorking 一些简单应用做了一下简单封装,主要有 get,post形式获取 xml,json,get 方式获取图片,下载文件,上传文件,代码如下: 1 // 2 // AFNetWorking_Demo.h 3 // AFNetWorking_Demo 4 // 5 // Created by Ager on 15/11/4. 6 // Copyright © 2015年 Ager. All rights reserved.

IOS -AFNetworking 简介及使用

一AFNetworking简介 AFNetworking是一个在IOS开发中使用非常多网络开源库,适用于iOS以及Mac OS X. 它构建于在(apple ios开发文档)NSURLConnection, NSOperation,以及其他熟悉的Foundation技术之上.它拥有良好的架构,丰富的api,以及模块化构建方式,使得使用起来非常轻松. AFURLConnectionOperation:继承自 NSOperation 实现了NSURLConnection 的代理方法. AFHTTPR

网络 AFNetWorking

AFNetworking 图片的本地缓存问题 AFNetWorking 的简单使用 其它好功能 ios开发小技巧之提示音播放与震动 网络 AFNetWorking,布布扣,bubuko.com

AFNetworking封装-项目使用

本篇博客是接着上一篇AFNetworking源码解析的后续,如果想对AFNetworking源码有所了解. 请读一下https://www.cnblogs.com/guohai-stronger/p/9191497.html. 这篇博客主要是对AFNetworking代码进行封装,也是自己在实际项目中所使用过的(对中小型企业或者项目)可直接使用,也会在github上传(偷偷窃喜一下,一直想在github上有所项目,一直没有时间),趁着端午几天有时间,给github贡献点自己力量.本篇读下来大约1

iOS开发网络篇—HTTP协议

说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) 通过1个URL,能找到互联网上唯一的1个资源 URL就是资源的地址.位置,互联网上的每个资源都有一个唯一的URL 2.URL中常见的协议 (1)HTTP 超文本传输协议,访问的是远程的网络资源,格式是http:// http协议是在网络开发中最常用的协议 (2)file 访问的是本地计算机上的资源,格式是file://(不用加主机