iOS--关于AFN和ASI的post登录请求

来源:互联网 发布:an99软件下载 编辑:程序博客网 时间:2024/05/22 04:30


// AFN方式



     // 1.创建一个请求操作管理者

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagermanager];

    //如果接受类型不一致请替换一致text/html或别的

    manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObject:@"text/html"];



//    //申明返回的结果是json类型

//    manager.responseSerializer = [AFJSONResponseSerializer serializer];

//    //申明请求的数据是json类型

//    manager.requestSerializer=[AFJSONRequestSerializer serializer];


    

    // 2.请求参数

  //  NSDictionary *params =@{@"接口文档的账号":用户输入的,@"接口文档的pwd":用户输入的pwd,@"postClientId":@"个推参数",@"设备类型":@"2"};

    

       //或者

    //    2.请求参数

     NSMutableDictionary *params = [NSMutableDictionarydictionary];

    [paramssetValue:用户输入的forKey:@"接口文档的账号"];

    [paramssetValue:用户输入的pwdforKey:@"接口文档的pwd"];

    [params setValue:@"个推参数"forKey:@"postClientId"];

    [paramssetValue:@"2"forKey:@"设备类型"];

    // 3.发送一个post请求

    [manager POST:@"接口Ip地址"parameters:params

     //  请求成功的时候调用这个block

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

            NSLog(@"成功");

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


//              // operation 服务器返回数据,(然后解析数据,成功跳转,失败提示用户)

//              NSData *response = [operation responseData];

//              NSLog(@"res: %@", response);

//              // 解析服务器返回的JSON数据(responseObject就是返回解析过的,这两个可以不写)

//              NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:nil];

//              NSLog(@"dict: %@",dict);





    //  请求失败的时候调用这个block

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

             NSLog(@"失败");

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

         }];









 /*---------------------------------------------------------------------------------*/

















 //ASI

    

    

    //通过验证请求服务器

 //   NSURL *url = [NSURL URLWithString:@"服务器IP地址"];

  NSURL *url = [NSURLURLWithString:@"服务器IP地址"];


    ASIFormDataRequest *request = [ASIFormDataRequestrequestWithURL:url];

    [requestsetPostValue:用户输入的forKey:@"接口文档的账号"];

    [requestsetPostValue:用户输入的密码 forKey:@"接口文档的密码"];

    [request setPostValue:@"个推参数"forKey:@"postClientId"];

    [requestsetPostValue:@"2"forKey:@"设备类型"];


     //  2 建立请求超时时间

    [request setTimeOutSeconds:1.0];

    [request setDelegate:self];

    

    [request startSynchronous];

    


   NSError *error = [request error];

   if (!error) {


        //服务器返回数据,解析数据,成功跳转,失败提示用户

    NSLog(@"请求成功");

       NSData *response = [request responseData];

       NSLog(@"%@", response);

            // 解析服务器返回的JSON数据

            NSDictionary *dict = [NSJSONSerializationJSONObjectWithData:response options:NSJSONReadingMutableLeaveserror:nil];

       NSLog(@"%@",dict);

    }else{

   NSLog(@"请求失败");

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

    

    }






0 0
原创粉丝点击