您的位置:首页 > 理论基础 > 计算机网络

ASIHTTPRequest 对GET和POST请求简单封装

2015-04-28 21:12 495 查看

1.ASIHTTPRequest 对GET和POST请求简单封装

+(void)requestWithASIURL:(NSString *)urlString parmas:(NSMutableDictionary *)params httpMethod:(NSString *)method completeBlock:(RequestFinishBlock)block{
//处理GET请求
if ([[method uppercaseString] isEqualToString:@"GET"]) {
NSArray *keys=[params allKeys];
for (int i=0; i<keys.count; i++) {
NSString *key=[keys objectAtIndex:i];
NSString *values=[params valueForKey:key];
urlString= [urlString stringByAppendingFormat:@"&%@=%@",key,values];
}

}
NSURL *url=[NSURL URLWithString:urlString];
ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:url];
[request setRequestMethod:method];
[request setTimeOutSeconds:10];
//处理POST请求
if ([[method uppercaseString] isEqualToString:@"POST"]) {
NSArray *keys=[params allKeys];
for (int i=0; i<keys.count; i++) {
NSString *key=[keys objectAtIndex:i];
NSString *value=[params objectForKey:key];
if ([value isKindOfClass:[UIImage class]]) {
//  NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test4" ofType:@"gif"];
//  NSData*  data=[NSData dataWithContentsOfFile:filePath];
NSData *imageData=UIImageJPEGRepresentation(value, 1.0);
[request addData:imageData forKey:key];
}
[request setPostValue:value forKey:key];

}
}

[request setCompletionBlock:^{
NSData *data=[request responseData];
NSJSONSerialization *json=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
block(json);
}];
[request startAsynchronous];

}


2 .调用格式

NSString* urlString=@"http://192.168.1.101:8080/PengFu/jokController/getPhoneJok";
NSMutableDictionary *params=[NSMutableDictionary dictionaryWithObject:@"1 " forKey:@"rows"];
UIImage *image=[UIImage imageNamed:@"test3.gif"];
[params setObject:image forKey:@"pic"];
[params setObject:@"test gif image upload" forKey:@"status"];

[DataService requestWithASIURL:urlString1 parmas:params httpMethod:@"POST" completeBlock:^(id result) {
NSLog(@"%@",result);
}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: