ios第二种post请求


//请求部分


NSURL *url=[NSURL URLWithString:[portUrl stringByAppendingString:@"/gt/ajax-validate5"]];

        // 2.创建一个网络请求,分别设置请求方法、请求参数

        NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:url];

        [request setTimeoutInterval:10.0f];//超过这个时间就算超时,请求失败

        NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];

        

        [parameters setValue:_phoneTextField.text forKey:@"phone"];

        [parameters setValue:@"7" forKey:@"typeId"];

        [parameters setValue:idstring forKey:@"userId"];

        [parameters setValue:myUUIDStr forKey:@"uuid"];

        [parameters setValue:[result objectForKey:@"geetest_challenge"forKey:@"geetest_challenge"];

 

        [parameters setValue:[result objectForKey:@"geetest_validate"] forKey:@"geetest_validate"];

        [parameters setValue:[result objectForKey:@"geetest_seccode"] forKey:@"geetest_seccode"];

        

        request.HTTPMethod = @"POST";

        [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

        NSString *args = [self convertToJsonData:parameters];//函数

        request.HTTPBody = [args dataUsingEncoding:NSUTF8StringEncoding];

        // 3.获得会话对象

        NSURLSession *session = [NSURLSession sharedSession];

        // 4.根据会话对象,创建一个Task任务

        NSURLSessionDataTask *sessionDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

            

            

            

            // 10、判断是否请求成功

            if (error) {

                NSLog(@"post1 error :%@",error.localizedDescription);

            } else {

                NSLog(@"返回的response信息%@",response);

                id object1 = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];

                // 11、判断是否解析成功

                if (error) {

                    NSLog(@"post2 error :%@",error.localizedDescription);

                }else {

                    NSLog(@"请求成功");

                    // 解析成功,处理数据,通过GCD获取主队列,在主线程中刷新界面。

                   }

             }

        }];

        

        [sessionDataTask resume];



//函数

- (NSString *)convertToJsonData:(NSDictionary *)dict {

    NSError *error;

    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];

    NSString *jsonString;

    if (!jsonData) {

        NSLog(@"%@", error);

    } else {

        jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

    }

    NSMutableString *mutStr = [NSMutableString stringWithString:jsonString];

    [mutStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];//去掉字符串中的空格

    NSRange range2 = {0, mutStr.length};

    [mutStr replaceOccurrencesOfString:@"\n" withString:@" " options:NSLiteralSearch range:range2];//去掉字符串中的换行符

    

    return mutStr;

}





猜你喜欢

转载自blog.csdn.net/mr_tangit/article/details/80613253