1.首先通過第三方:CocoaPods下載AFNetworking
1.1.先找到要查找的三方庫:pod search + AFNetworking
1.2.出來一堆列表頁面,選擇三方庫最新版本命令,例如: pod ‘MBProgressHUD','~>0.8' (:q 返回)
1.3.創建工程,進入工程: cd + 工程路徑
1.4.編輯工程的Podfile文件: vim Podfile
1.5.(platform :iOS, ‘8.0'?target “工程名” do?pod ‘AFNetworking', ‘~> 3.1.0'?end)新版本 (編輯鍵i)->(Esc鍵: 輸入:wq返回)
1.6.6.保存Podfile的設置,然后進行更新下載三方庫: pod update
2.進入工程進行相關操作
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
|
// 網絡請求的頭文件 #import <AFNetworking.h> @interface ViewController () { // 進行網絡監測判斷的bool值 BOOL isOpen; } // 用于網絡請求的Session對象 @property (nonatomic, strong) AFHTTPSessionManager *session; @end @implementation ViewController - ( void )viewDidLoad { [super viewDidLoad]; // 初始化Session對象 self.session = [AFHTTPSessionManager manager]; // 設置請求接口回來的時候支持什么類型的數據 self.session.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@ "application/json" , @ "text/json" , @ "text/javascript" ,@ "application/x-json" ,@ "text/html" , nil]; } #pragma mark - 網絡監測按鈕的響應方法 - (IBAction)NetworkmonitoringAction:(id)sender { if (!isOpen) { //打開網絡監測 [[AFNetworkReachabilityManager sharedManager] startMonitoring]; isOpen = YES; } else { // 關閉網絡監測 [[AFNetworkReachabilityManager sharedManager] stopMonitoring]; isOpen = NO; } // 接下來會判斷當前是WiFi狀態還是3g狀態,網絡不可用狀態 [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { case AFNetworkReachabilityStatusUnknown: NSLog(@ "當前網絡處于未知狀態" ); break ; case AFNetworkReachabilityStatusNotReachable: NSLog(@ "當前網絡處于未鏈接狀態" ); break ; case AFNetworkReachabilityStatusReachableViaWWAN: NSLog(@ "手機流量網絡" ); break ; case AFNetworkReachabilityStatusReachableViaWiFi: NSLog(@ "wifi狀態" ); break ; default : break ; } }]; } #pragma mark - get請求 - (IBAction)getRequestAction:(id)sender { // 參數1: get請求的網址 // 參數2: 拼接參數 // 參數3: 當前的進度 // 參數4: 請求成功 // 參數5: 請求失敗 [self.session GET:@ "http://api.yhouse.com/m/city/dynmiclist" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { NSLog(@ "下載的進度" ); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@ "請求成功:%@" , responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@ "請求失敗:%@" , error); }]; } #pragma mark - post請求 - (IBAction)postRequestAction:(id)sender { /*{ do = "pri_memberlist"; "member_id" = zpHr2dsRvQQxYJxo2; "workspace_id" = ILfYpE4Dhs2gWcuQx; }*/ NSString *urlString = @ "http://m.taskwedo.com/API/wedo1/wedo.php" ; NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setObject:@ "pri_memberlist" forKey:@ "do" ]; [dict setObject:@ "zpHr2dsRvQQxYJxo2" forKey:@ "member_id" ]; [dict setObject:@ "ILfYpE4Dhs2gWcuQx" forKey:@ "workspace_id" ]; // 參數1: url // 參數2: body體 [self.session POST:urlString parameters:dict progress:^(NSProgress * _Nonnull uploadProgress) { NSLog(@ "上傳的進度" ); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@ "post請求成功%@" , responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@ "post請求失敗:%@" , error); }]; } #pragma mark - post2請求 - (IBAction)postTwoRequestAction:(id)sender { /*address = ""; comment = "\U7c7b\U6a21\U5757\U8ba1\U5212\U7528\U5230\U7b2c\U4e09\U90e8\U5206\U4e2d\Uff0c\U5f85\U63d0\U95ee\U3001\U56de\U7b54\U79ef\U7d2f\U5230\U4e00\U5b9a\U6570\U91cf\U65f6\Uff0c\U4fbf\U4e8e\U5927\U5bb6\U7684\U95ee\U9898\U7684\U5feb\U901f\U67e5\U627e\Uff0c\U6240\U4ee5\U63d0\U95ee\U90e8\U5206\U6682\U65f6\U4e0d\U52a0\U5165\U8fd9\U4e2a"; do = "add_comment"; kind = task; "member_id" = zpHr2dsRvQQxYJxo2; other = ""; "task_id" = 55a47e79ec25e3641;*/ NSString *urlString = @ "http://m.taskwedo.com/API/wedo1/wedo.php" ; NSString *commonContent = @ "類模塊計劃用到第三部分中,待提問、回答積累到一定數量時,便于大家的問題的快速查找,所以提問部分暫時不加入這個" ; // 把漢字進行編碼 commonContent = [commonContent stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setValue:@ "" forKey:@ "address" ]; [dict setValue:commonContent forKey:@ "comment" ]; [dict setValue:@ "add_comment" forKey:@ "do" ]; [dict setValue:@ "task" forKey:@ "kind" ]; [dict setValue:@ "zpHr2dsRvQQxYJxo2" forKey:@ "member_id" ]; [dict setValue:@ "" forKey:@ "other" ]; [dict setValue:@ "55a47e79ec25e3641" forKey:@ "task_id" ]; [self.session POST:urlString parameters:dict progress:^(NSProgress * _Nonnull uploadProgress) { NSLog(@ "上傳的進度" ); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@ "post請求成功:%@" , responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@ "post請求失敗:%@" , error); }]; } |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/leikun1113/p/5535924.html