上篇文章记录的AFN 网络请求采用form-data格式,这篇记录原生网络请求
// 用请求的参数进行访问
- (void)validationPartPost:(NSDictionary *)dicData {
NSString *POST_BOUNDS = @"yanzheng";
NSURL *url = [NSURL URLWithString:@"http:"];
NSMutableString *bodyContent = [NSMutableString string];
for(NSString *key in dicData.allKeys){
id value = [dicData objectForKey:key];
[bodyContent appendFormat:@"--%@\r\n",POST_BOUNDS];
[bodyContent appendFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",key];
[bodyContent appendFormat:@"%@\r\n",value];
}
[bodyContent appendFormat:@"--%@--\r\n",POST_BOUNDS];
NSData *bodyData=[bodyContent dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];
[request addValue:[NSString stringWithFormat:@"multipart/form-data;boundary=%@",POST_BOUNDS] forHTTPHeaderField:@"Content-Type"];
// 请求头,有需求就填写
[request setValue: @"" forHTTPHeaderField:@"timestamp"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:bodyData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSDictionary *responseJSON = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSInteger status = [responseJSON[@"status"] integerValue];
NSLog(@"%@",responseJSON);
if (status == 200) {
}
}];
[task resume];
}
网友评论