//请求部分
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;
}