AFN的使用

#pragma mark -实现GET请求

  // 给定 url
    NSURL *url = [ NSURL URLWithString : kBookURL ];
   
//NSLog(@"url=====%@",url);
   
   
// 创建网络请求
   
NSURLRequest *request = [[ NSURLRequest alloc ] initWithURL :url];
   
// 建立网络请求
   
AFHTTPRequestOperation *operation = [[ AFHTTPRequestOperation alloc ] initWithRequest :request];
    [operation
setCompletionBlockWithSuccess :^( AFHTTPRequestOperation *operation, id responseObject) {
       
NSString *html = operation. responseString ;
       
NSData *data = [html dataUsingEncoding : NSUTF8StringEncoding ];
       
NSLog ( @"%@" ,data);
       
       
NSDictionary *dict = [ NSJSONSerialization JSONObjectWithData :data options :0 error : nil ];
       
NSLog ( @"%@ " ,dict);
     
// 解析数据
       
NSArray *Arr = [dict objectForKey : @"data" ];
       
NSLog ( @"%@ " ,Arr);
       
self . mutableBoockArr = [[ NSMutableArray alloc ] initWithCapacity :[Arr count ]];
       
for ( NSDictionary *dic in Arr) {
           
Book *book = [[ Book alloc ] init ];
            [book
setValuesForKeysWithDictionary :dic];
            [
self . mutableBoockArr addObject :book];
            [book
release ];
        }
 //刷新数据
        [
self . tableV performSelectorOnMainThread : @selector (reloadData) withObject : nil waitUntilDone : YES ];
       
NSLog ( @"%@=================== " , _mutableBoockArr );

       
       
       
    }
failure :^( AFHTTPRequestOperation *operation, NSError *error) {
       
NSLog ( @" 发生错误! %@" ,error);
       
       
    }];
   
NSOperationQueue *queue = [[ NSOperationQueue alloc ] init ];
    [queue
addOperation :operation];


#pragma mark -实现POST请求

  // 创建管理器
   
AFHTTPRequestOperationManager *magager = [ AFHTTPRequestOperationManager manager ];
    magager.
responseSerializer = [ AFHTTPResponseSerializer serializer ];
   
// 验证码、密码、邀请码、
   
NSString *yanZhengStr = [[ NSString alloc ] initWithFormat : @"%@" , _yanZhengMaLT . textField . text ];
   
NSString *miMaStr = [[ NSString alloc ] initWithFormat : @"%@" , _miMaLT . textField . text ];
   
NSString *yaoQingStr = [[ NSString alloc ] initWithFormat : @"%@" , _yaoQingMaLT . textField . text ];
   
   
    [magager
POST : kZhuCeURL parameters :@{ @"phone" : self . phone , @"verifycode" :yanZhengStr, @"userpwd" :miMaStr, @"invitationcode" :yaoQingStr} success :^( AFHTTPRequestOperation *operation, id responseObject) {
       
       
NSLog ( @" 注册的电话 ---------%@" , self .phone);
       
NSLog ( @" 注册的验证码 ---------%@" , _yanZhengMaLT .textField. text );
       
NSLog ( @" 注册的密码 ---------%@" ,_miMaLT. textField . text );
       
NSLog ( @" 注册的邀请码 ---------%@" ,_yaoQingMaLT.textField. text );
       
       
// 接收 URL 传过来的内容
       
NSString *html = operation. responseString ;
       
// 转为 data 类型
       
NSData *data = [html dataUsingEncoding : NSUTF8StringEncoding ];
       
NSLog ( @"%@" ,data);
       
// 用字典接收内容
       
NSDictionary *dict = [ NSJSONSerialization JSONObjectWithData :data options :0 error : nil ];
       
NSLog ( @"++++++++%@" ,dict);


       
NSString *str = [[ NSString alloc ] initWithData :responseObject encoding : NSUTF8StringEncoding ];
        NSLog(@"str=%@",str);

    } failure :^( AFHTTPRequestOperation *operation, NSError *error) {
       
NSLog ( @" 发生错误! %@" ,error);
    }];





#pragma mark - 实现 POST 请求和上面那个一样

-(void)testPostRequest

{

    //接口

    //http://quiet.local/testdir/login.php

    //  @"user": @"quiet"

    //  @"password": @"1234"

    

    NSString*urlString = @"http://quiet.local/testdir/login.php";

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagermanager];

    manager.responseSerializer = [AFHTTPResponseSerializerserializer];

    [manager POST:urlString parameters:@{@"user":@"quiet",@"password":@"123456"}success:^(AFHTTPRequestOperation *operation,id responseObject) {

        

        NSString*str = [[NSStringalloc] initWithData:responseObject encoding:NSUTF8StringEncoding];

        NSLog(@"str = %@",str);

        

    } failure:^(AFHTTPRequestOperation *operation,NSError *error) {

        

        NSLog(@"error = %@",error);

        

    }];

}


#pragma mark - 实现 POST 请求上传图片+文字———把图片转换为Data传向后台

// 最后一步
- (
void )zuiHouYiBu
{
   
NSLog ( @" 最后一步 " );
   
//    // 要传的图片
//    NSURL *imagePath = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"banner3" ofType:@"png"]];
//   
//    NSURL *imagePath2 = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Banner2" ofType:@"png"]];


   
   
AFHTTPRequestOperationManager *manager = [ AFHTTPRequestOperationManager manager ];
    [manager
POST : kShengFengZhengURL parameters :@{ @"phone" : @"18211101582" , @"couriername" : _ltView . textField . text } constructingBodyWithBlock :^( id < AFMultipartFormData > formData) {
       
//        [formData appendPartWithFileURL:imagePath name:@"file" error:nil]; //file 是图片文件的参数名
//        [formData appendPartWithFileURL:imagePath2 name:@"file" error:nil];
   
       
NSData *imageData = UIImageJPEGRepresentation ( _zhengMianImag ,0.7); // 进行图片压缩
        [formData
appendPartWithFileData :imageData name : @"file" fileName : @"image1.png" mimeType : @"image/png" ];
       
       
NSData *imageData2 = UIImageJPEGRepresentation ( _fanMianImage ,0.7); // 进行图片压缩
        [formData
appendPartWithFileData :imageData2 name : @"file" fileName : @"image1.png" mimeType : @"image/png" ];

       
       
       
       
       
    }
success :^( AFHTTPRequestOperation *operation, id responseObject) {

       
NSLog ( @" 成功 : %@" , responseObject);

       
NSString *html = operation. responseString ;
       
NSData *data = [html dataUsingEncoding : NSUTF8StringEncoding ];
       
NSDictionary *dic = [ NSJSONSerialization JSONObjectWithData :data options :0 error : nil ];
       
if ([[dic objectForKey : @"status" ] isEqualToString : @"0" ]) {
           
SuoShuGongSiViewController *gongSi = [[ SuoShuGongSiViewController alloc ] init ];
            [
self . navigationController pushViewController :gongSi animated : YES ];
            [gongSi
release ];
        }
else
        {
           
UIAlertView *alertV = [[ UIAlertView alloc ] initWithTitle : @" 认证失败 " message: @" 请重新提交认证信息 " delegate: self cancelButtonTitle : @" 知道了 " otherButtonTitles : nil , nil ];
            [alertV
show ];
            [alertV
release ];

        }
       
       
    }
failure :^( AFHTTPRequestOperation *operation, NSError *error) {
       
       
NSLog ( @" 失败 : %@" , error);
       
    }];
   
   
   
}



#pragma mark - 实现 POST 请求上传录音

  AFHTTPRequestOperationManager *manager = [ AFHTTPRequestOperationManager manager ];
    [manager
POST : kYuYinDingDanURL parameters :@{ @"phone" : @"13501100224" , @"longitude" : @"116.18833" , @"latitude" : @"39.5845" , @"sendareaid" : @"" , @"sendaddress" : @"" } constructingBodyWithBlock :^( id < AFMultipartFormData > formData) {
      
       
       
filePathStr = [ NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory , NSUserDomainMask , YES ) objectAtIndex :0];
       
NSLog ( @" 录音文件路径 --------%@" ,filePathStr);
       
NSString *str = [ NSString stringWithFormat : @"%@/luYin.wav" , filePathStr ];
       
NSLog ( @"str--------%@" ,str);

       
NSData *sound1Data = [[ NSData alloc ] initWithContentsOfFile :str];
//        NSLog(@"data--------%@",sound1Data);

        [formData
appendPartWithFileData :sound1Data name : @"file" fileName : @"luYin.wav" mimeType : @"/wav" ];

       
    }
success :^( AFHTTPRequestOperation *operation, id responseObject) {
       
       
NSLog ( @" 成功 : %@" , responseObject);
       
       
       
    }
failure :^( AFHTTPRequestOperation *operation, NSError *error) {
       
       
NSLog ( @" 失败 : %@" , error);
       
    }];






#pragma mark -判断当前网络
// 判断当前的网络
-(
void )getNetWorkNotificationCenter
{
    [[
AFNetworkReachabilityManager sharedManager ] startMonitoring ];
    [[
AFNetworkReachabilityManager sharedManager ] setReachabilityStatusChangeBlock :^( AFNetworkReachabilityStatus status) {
       
switch (status) {
           
case AFNetworkReachabilityStatusNotReachable :{
//                [CHObjectClass showMastToast:@" 网络无连接 !"];
               
NSLog ( @" 网络无连接 !" );
               
break ;
            }
           
case AFNetworkReachabilityStatusReachableViaWiFi :{
//                [CHObjectClass showMastToast:@" 您正在使用 WIFI 网络 "];
               
NSLog ( @" 您正在使用 WIFI 网络 " );

               
break ;
            }
           
case AFNetworkReachabilityStatusReachableViaWWAN :{
//                [CHObjectClass showMastToast:@" 您正在使用 2G/3G 网络 "];
               
NSLog ( @" 您正在使用 2G/3G 网络 " );

               
break ;
            }
           
default :
               
break ;
        }
       
//NSLog(@"[[AFNetworkReachabilityManager sharedManager] isReachable] = %d",[[AFNetworkReachabilityManager sharedManager] isReachable]);
       
//NSLog(@" 网络状态返回 : %@", AFStringFromNetworkReachabilityStatus(status));
    }];
}












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值