96 AFNetworking基本使用

1>GET 返回JSON數據:

/**
 *  利用AFN發送一個GET請求,服務器返回的JSON數據
 */
- (void)getJSON
{
    // 1.創建一個請求操作管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    // 聲明一下:服務器返回的是JSON數據
    //    mgr.responseSerializer = [AFJSONResponseSerializer serializer];
    // responseObject的類型是NSDictionary或者NSArray

    // 2.請求參數
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"哈哈哈";
    params[@"pwd"] = @"123";

    // 3.發送一個GET請求
    NSString *url = @"http://localhost:8080/MJServer/login";
    [mgr GET:url parameters:params
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
         // 請求成功的時候調用這個block
         NSLog(@"請求成功---%@", responseObject);
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         // 請求失敗的時候調用調用這個block
         NSLog(@"請求失敗");
     }];
}
2>GET 返回XML數據:
/**
 *  利用AFN發送一個GET請求,服務器返回的XML數據
 */
- (void)getXML
{
    // 1.創建一個請求操作管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    // 聲明:等會服務器返回的是XML數據
    // responseObject的類型是NSXMLParser
    mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];

    // 2.請求參數
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"哈哈哈";
    params[@"pwd"] = @"123";
    params[@"type"] = @"XML";

    // 3.發送一個GET請求
    NSString *url = @"http://localhost:8080/MJServer/login";
    [mgr GET:url parameters:params
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
         // 請求成功的時候調用這個block
         NSLog(@"請求成功--%@", responseObject);
//         responseObject.delegate = self;
//         [responseObject parse];
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         // 請求失敗的時候調用調用這個block
         NSLog(@"請求失敗");
     }];
}
3>GET 返回NSData:
/**
 *  利用AFN發送一個GET請求,服務器返回的JSON數據,讓AFN直接返回data
 */
- (void)getData
{
    // 1.創建一個請求操作管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    // 聲明:不要對服務器返回的數據進行解析,直接返回data即可
    // 如果是文件下載,肯定是用這個
    // responseObject的類型是NSData
    mgr.responseSerializer = [AFHTTPResponseSerializer serializer];

    // 2.請求參數
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"哈哈哈";
    params[@"pwd"] = @"123";

    // 3.發送一個GET請求
    NSString *url = @"http://localhost:8080/MJServer/login";
    [mgr GET:url parameters:params
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
         // 請求成功的時候調用這個block
         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];

         NSLog(@"%@", dict);
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         // 請求失敗的時候調用調用這個block
         NSLog(@"請求失敗");
     }];
}
4>POST 返回JSON:
/**
 *  利用AFN發送一個POST請求,服務器返回的JSON數據
 */
- (void)postJSON
{
    // AFHTTPRequestOperationManager 對 NSURLConnection的封裝

    // 1.創建一個請求操作管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    // 2.請求參數
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"哈哈哈";
    params[@"pwd"] = @"123";

    // 3.發送一個GET請求
    NSString *url = @"http://localhost:8080/MJServer/login";
    [mgr POST:url parameters:params
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
         // 請求成功的時候調用這個block
         NSLog(@"請求成功---%@", responseObject);
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         // 請求失敗的時候調用調用這個block
         NSLog(@"請求失敗");
     }];
}
5>AFHTTPSessionManager:

- (void)getSession
{
    // AFHTTPSessionManager 對 NSURLSession 的封裝
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
    [mgr GET:@"" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {

    } failure:^(NSURLSessionDataTask *task, NSError *error) {

    }];
}
發佈了124 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章