AFNetwork网络数据解析的方式
来源:互联网 发布:数组去重js算法实现 编辑:程序博客网 时间:2024/06/06 03:26
网络解析数据的时候,写起来有时候总感觉有点乱,有的需要修改请求头文件,有的需要POST传参数,在这里整理一下,用到的时候可以方便直接找到
第一种方式:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.securityPolicy.allowInvalidCertificates = YES; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; //这里面serverConfiguration.headersForWebPage就是你要写请求头HOST部分的字典,通过forin循环,将它写入到manager中 for (NSString *key in serverConfiguration.headersForWebPage) { [manager.requestSerializer setValue:[serverConfiguration.headersForWebPage objectForKey:key] forHTTPHeaderField:key]; } //这里面写你需要POST发送的包 NSMutableDictionary *requestParameters = [[NSMutableDictionary alloc] initWithCapacity:0]; [requestParameters setObject:@"name" forKey:@"name"]; [requestParameters setObject:@"email@qq.com" forKey:@"email"]; [requestParameters setObject:@"m" forKey:@"gender"]; [requestParameters setObject:@"12345678" forKey:@"password"]; [requestParameters setObject:@"1989-11-18" forKey:@"birthday"]; //防止循环引用,weakSelf __weak __typeof(self) weakSelf = self; [manager POST:serverConfiguration.registerURL parameters:requestParameters success:^(AFHTTPRequestOperation *operation, id responseObject) { __strong __typeof(weakSelf)strongSelf = weakSelf; if (strongSelf) {//解析返回正确的数据 id requestId = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil]; if ([requestId isKindOfClass:[NSDictionary class]]) { if ([[requestId objectForKey:@"message"] isEqualToString:@"success"]) { [ProgressHUD showSuccess:@"注册成功"]; [strongSelf loginInHComic]; } } } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { [ProgressHUD showError:@"注册失败"]; }];
第二种方式:
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; //此处写入请求头文件,self.serverConfig.headersForWebPage为已经写好的头文件字典 if ([[self.serverConfig.headersForWebPage allKeys] count] > 0) { [request setAllHTTPHeaderFields:self.serverConfig.headersForWebPage]; } [request setTimeoutInterval:TIMEOUTINTERVAL*2]; //这里面写你需要POST发送的包 NSMutableDictionary *parameters = [[NSMutableDictionary alloc] initWithCapacity:0]; [parameters setObject:@"name" forKey:@"name"]; [parameters setObject:@"email@qq.com" forKey:@"email"]; [parameters setObject:@"m" forKey:@"gender"]; [parameters setObject:@"12345678" forKey:@"password"]; [parameters setObject:@"1989-11-18" forKey:@"birthday"]; //设置请求POST参数 request = [[AFHTTPRequestSerializer serializer] requestWithMethod:@"POST" URLString:@"http://www.baidu.com" parameters:parameters]; NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler: ^(NSData *data, NSURLResponse *response, NSError *error) { // 输出返回的状态码,请求成功的话为200 if (error)//返回错误 { }else{//返回正常 } }]; // 使用resume方法启动任务 [dataTask resume];
这两种方式都可以添加请求头参数,添加需要发送的POST包
0 0
- AFNetwork网络数据解析的方式
- AFNetwork加载网络数据
- AFNEtWork出现解析json数据异常情况
- iOS开发网络数据之AFNetwork…
- iOS开发网络数据之AFNetwork…
- iOS开发之使用AFNetwork请求带有apikey的网络数据
- AFNetwork数据请求之POST与GET方式AFHTTPRequestOperationManager
- AFNetwork数据请求之POST与GET方式 AFHTTPRequestOperationManager
- Android网络之数据解析----SAX方式解析XML数据
- Android网络之数据解析----SAX方式解析XML数据
- Android网络之数据解析----SAX方式解析XML数据
- Android网络之数据解析----SAX方式解析XML数据
- Android网络之数据解析----SAX方式解析XML数据
- Android网络之数据解析----SAX方式解析XML数据
- UI网络笔记(四):UI网络之解析XML数据的三种方式
- AFNetWork 解析Json出错
- 网络编程之AFNetwork
- 分享 AFNetwork Post方式请求不通的问题。
- 谷歌DeepMind识别算法新突破:一眼“看清”物体
- fragment生命周期之Onstart();
- python 多线程例子
- log4cplus日志工具样例
- 适配器模式(Adapter Pattern)
- AFNetwork网络数据解析的方式
- 关于百度“判罚”的谣言
- 【Prim算法和Kruskal算法的验证】
- Rancher网络全解读
- STL中各种容器的简单特点
- Eclipse如何解决启动慢?
- 【Java】BigDecimal
- 学信网java自动登录
- 设计模式-创建型模式:工厂方法FactoryMethod