zoukankan      html  css  js  c++  java
  • FirstAFNetWorking

    //  ViewController.h
    //  FirstAFNetWorking
    //
    //  Created by 张国锋 on 15/7/20.
    //  Copyright (c) 2015年 张国锋. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    
    
    @end
    
    //
    //  ViewController.m
    //  FirstAFNetWorking
    //
    //  Created by 张国锋 on 15/7/20.
    //  Copyright (c) 2015年 张国锋. All rights reserved.
    //
    
    #import "ViewController.h"
    #import "AFNetworking.h"
    #import "GDataXMLNode.h"
    //json
    #define kJSONUrlString @"http://www.baidu.com:8080/free/applications/limited?currency=rmb&page=1"
    //xml的地址
    #define kXMLUrlString @"http://wiapi.baidu.com/news/getlist4.0.php?pid=100234721&pc=20&pn=1&st=0"
    
    #define kJSONPostString @"http://网址/sjll/v1/homes/basic_data"
    
    #define kXMLPostString @"sadfasfdasdf"
    
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        [self jsonGetRequest];
    //    [self xmlGetRequest];
    //    NSDictionary *dic=[NSDictionary dictionaryWithObjects:@[@"2"] forKeys:@[@"area_id"]];
    //    [self jsonPostRequestWith:dic];
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    -(void)jsonGetRequest{
        //对json数据的Get请求
        AFHTTPRequestOperationManager *manager=[AFHTTPRequestOperationManager manager];
    //    manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"application/json"];//告诉manager,解析的类型是json数据
        manager.responseSerializer=[[AFHTTPResponseSerializer alloc]init];
        [manager GET:kJSONUrlString parameters:nil success:^(AFHTTPRequestOperation * operation, id responseObject) {//responseObject 接受的数据
            NSLog(@"%ld",manager.operationQueue.operationCount);//请求完之后是出对列 为 0
            if ([responseObject isKindOfClass:[NSData class]]) {
                NSLog(@"%@",responseObject);
            }else if([responseObject isKindOfClass:[NSDictionary class]]){
                NSLog(@"%@",responseObject);
            }
        } failure:^(AFHTTPRequestOperation * operation, NSError * error) {
            NSLog(@"wqrqwer%@",error);
        }];
        
    //    manager.operationQueue.operationCount
        NSLog(@"%ld",manager.operationQueue.operationCount);//manager.operationQueue.operationCount 队列里面有多少个请求
    //    [manager.operationQueue cancelAllOperations];//取消队列中所有的请求
    }
    
    -(void)xmlGetRequest{
        AFHTTPRequestOperationManager *manager=[AFHTTPRequestOperationManager manager];
    //    manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/xml"];
        //报错报3840 就是服务端的数据不是严格按照xml的格式书写的。
        //xml解析xcode很难解析,我们使用GData
        manager.responseSerializer=[[AFHTTPResponseSerializer alloc]init];//告诉AFNetWorking,我不需要你解析,我自己解析
        [manager GET:kXMLUrlString parameters:nil success:^(AFHTTPRequestOperation * operation, id responseObject) {
    //        NSLog(@"%@",responseObject);
            GDataXMLDocument *doc=[[GDataXMLDocument alloc]initWithData:responseObject encoding:NSUTF8StringEncoding error:nil];
            NSString *path = @"/doc/focus/frame/title";
            NSArray *titles=[doc nodesForXPath:path error:nil];
            for (GDataXMLElement *title in titles) {
                NSLog(@"%@",title.stringValue);
            }
    
        } failure:^(AFHTTPRequestOperation * operation, NSError * error) {
            NSLog(@"%@",error);
        }];
    }
    
    -(void)jsonPostRequestWith:(NSDictionary *)dic{
        AFHTTPRequestOperationManager *manager=[AFHTTPRequestOperationManager manager];//这是一个单列
        manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"application/json"];
        [manager POST:kJSONPostString parameters:dic success:^(AFHTTPRequestOperation * operation, id responseObject) {
            NSLog(@"%@",responseObject);
        } failure:^(AFHTTPRequestOperation * operation, NSError * error) {
            NSLog(@"%@",error);
        }];
    }
    
    -(void)xmlPostRequestWith:(NSDictionary *)dic{
        AFHTTPRequestOperationManager *manager=[AFHTTPRequestOperationManager manager];

    //manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/xml"];
        manager.responseSerializer=[[AFHTTPResponseSerializer alloc]init];
        [manager POST:kXMLPostString parameters:dic success:^(AFHTTPRequestOperation * operation, id responseObject) {
            NSLog(@"%@",responseObject);
        } failure:^(AFHTTPRequestOperation * operation, NSError * error) {
            NSLog(@"%@",error);
        }];
    
    
    }
    
    
    
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    

    Cocoa Pods 管理第三方库.

  • 相关阅读:
    ElasticSearch 清理索引
    Docker 服务接入SkyWalking
    Promethues mysql_exporter 集中式监控
    修改SVN密码自助平台
    快速排序(golang)
    ElasticSearch Xpack集群认证和elasticsearch-head配置
    Ansible一个tasks失败则终止剩余的task
    Consul安装
    最纯净的开发者技术交流社群
    Flutter中的报错:(IOS pod 版本错误) error: compiling for iOS 8.0, but module 'xxx' has a minimum deployment target of iOS 9.0
  • 原文地址:https://www.cnblogs.com/0515offer/p/4665518.html
Copyright © 2011-2022 走看看