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

AFNetwork数据请求之POST与GET方式 AFHTTPRequestOperationManager

2015-01-05 01:42 591 查看
利用 AFNetwork 进行远程访问 的一些常用代码

pod 'AFNetworking'

请求一般分为 post 和 get ,当然按照标准还有delete,update 等方法

1,进行post 上传数据的代码

<p class="p1"><span class="s1">    NSDictionary</span><span class="s2"> * params =</span></p><p class="p2"><span class="s1">      </span><span class="s3">@{</span></p><p class="p3"><span class="s2">            </span><span class="s4">@"clientID"</span><span class="s2">: [</span><span class="s1">Tools</span><span class="s2"> </span><span class="s1">uniqueGlobalDeviceIdentifier</span><span class="s2">],</span></p><p class="p1"><span class="s2">            </span><span class="s4">@"longitude"</span><span class="s2">:[</span><span class="s1">NSNumber</span><span class="s2"> </span><span class="s1">numberWithDouble</span><span class="s2">:coordinate.</span><span class="s1">longitude</span><span class="s2">],</span></p><p class="p1"><span class="s2">            </span><span class="s4">@"latitude"</span><span class="s2">:[</span><span class="s1">NSNumber</span><span class="s2"> </span><span class="s1">numberWithDouble</span><span class="s2">:coordinate.</span><span class="s1">latitude</span><span class="s2">],</span></p><p class="p1"><span class="s2">            </span><span class="s4">@"altitude"</span><span class="s2">:[</span><span class="s1">NSNumber</span><span class="s2"> </span><span class="s1">numberWithDouble</span><span class="s2">:</span><span class="s5">self</span><span class="s2">.</span><span class="s6">currentLocation</span><span class="s2">.</span><span class="s1">altitude</span><span class="s2">],</span></p><p class="p1"><span class="s2">            </span><span class="s4">@"course"</span><span class="s2">:[</span><span class="s1">NSNumber</span><span class="s2"> </span><span class="s1">numberWithDouble</span><span class="s2">:</span><span class="s5">self</span><span class="s2">.</span><span class="s6">currentLocation</span><span class="s2">.</span><span class="s1">course</span><span class="s2">],</span></p><p class="p1"><span class="s2">            </span><span class="s4">@"speed"</span><span class="s2">:[</span><span class="s1">NSNumber</span><span class="s2"> </span><span class="s1">numberWithDouble</span><span class="s2">:</span><span class="s5">self</span><span class="s2">.</span><span class="s6">currentLocation</span><span class="s2">.</span><span class="s1">speed</span><span class="s2">],</span></p><p class="p2"><span class="s1">      </span><span class="s3">}</span><span class="s1">;</span></p>    //通过 AFNetworking 的POST 调用
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSString * post_url =[[Tools getServerHost] stringByAppendingString:@"/log/location_log" ];
DLog(@"准备发送的url:%@", post_url);
[manager POST:post_url parameters:sendLocationInfo success:^(AFHTTPRequestOperation *operation, id responseObject) {
DLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
DLog(@"Error: %@", error);
}];


2. 对get返回的对象进行json 处理

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSString * post_url =[[Tools getServerHost] stringByAppendingString:@"/road_name_alias/road_name_alias.json" ];
DLog(@"准备发送的url:%@", post_url);
//设置请求头contenttypes信息
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
[manager GET:post_url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
DLog(@"JSON: %@", responseObject);
NSString *requestTmp = [NSString stringWithString:operation.responseString];
NSData *resData = [[NSData alloc] initWithData:[requestTmp dataUsingEncoding:NSUTF8StringEncoding]];
//系统自带JSON解析
NSDictionary *resultDic = [NSJSONSerialization JSONObjectWithData:resData options:NSJSONReadingMutableLeaves error:nil];
Tools * tools = [Tools sharedInstance];
tools.roadNameAliasList = resultDic;

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
DLog(@"Error: %@", error);
Tools * tools = [Tools  sharedInstance];
tools.roadNameAliasList = nil;

}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: