Tag: 联网

如何等待响应和parsing在networkingiOS中完成的XML

我想等到服务器响应并parsingXML完成,然后调用另一个函数。 我怎样才能做到这一点? 我用这个代码发送请求到服务器,并使用NSXMLParser来parsingXML响应。 NSURL *url1 = [NSURL URLWithString:@"linkserver"]; AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL: url1] ; NSDictionary *params1 = @{ @"a" : vd; @"b" : @"all" }; NSMutableURLRequest *afRequest = [httpClient requestWithMethod:@"GET" path:nil parameters:params1] ; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:afRequest]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"Success"); NSString * parsexmlinput = [[NSString alloc] initWithData:responseObject […]

AFNetworking POST方法调用

我是AFNetworking 。 我如何执行以下的成功和失败块 NSMutableDictionary *rus = [[NSMutableDictionary alloc] init]; [rus setValue:@"1211" forKey:@"id"]; [rus setValue:@"33" forKey:@"man"]; [[AFHTTPRequestSerializer serializer] requestWithMethod:@"POST" URLString:@"http://mysite.co/service.php" rus]; 如何在执行上述代码片段后显示成功或失败。

使用networking连接一次下载一个文件

我有一个array ,其中包含不同的url。 我想用进度条下载一个文件,而不是启动下一个文件等等。 这是我迄今为止的代码; -(void) func:(NSArray *) arry { NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; configuration.timeoutIntervalForRequest = 900; AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; NSMutableArray * downloadedUrl = [[NSMutableArray alloc] init]; for (NSString * str in arry) { NSURL *URL = [NSURL URLWithString:str]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; NSURLSessionDownloadTask downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL (NSURL […]

用AFNetworking失败发布序列化的对象

我有一个数据对象,称为DataElement。 它包含一串Base64转换图像字节,以及其他一些字段。 我试图发布这个我的wcf服务,并得到一个错误“(200-299)的预期状态代码,得到了400。 目标是将数据+图像发布到WCF(rest)服务,并获得一个修改后的图像 – 端到端testing我正在工作。 在我的post方法中,如果我将编码的string留空在对象上,一切正常,但如果该string是空的以外的东西,我会得到这个错误。 我的WCF服务甚至没有被击中,它只是炸弹正确的错误。 这是我的post方法…我做错了什么? – (void)postDataToServer:(NSString*)server dataElement:(DataElement*)dataElement asJson:(BOOL)useJson { NSString *urlString = [[NSString alloc] init]; NSData *encodedData; urlString = [[server copy] stringByAppendingString:@"EchoXml"]; encodedData = [self encodeDataElementAsXml:dataElement]; NSURL *url = [NSURL URLWithString:urlString]; AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url]; NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:urlString parameters:nil]; [request setHTTPBody:encodedData]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation […]

订阅ReactiveCocoa中的networking电话信号的正确select是什么?

我是ReactiveCocoa世界的新手,在阅读了ReactiveCocoa的最佳实践之后,我知道我需要"avoid explicit subscriptions and disposal"但是在所有关于networking和ReactiveCocoa教程中,我看到了相同的模式:创build信号(使GET或POST请求到服务器,parsing结果, sendNext , sendCompleted ) – > subcsribeNext (做UI的东西或其他与结果) – > subscribeError 。 所以我们看到这里有一个明确的订阅,我认为这是不好的。 有没有一些更正确和概念上纯洁的方式来做这个共同的事情? rac_liftSelector:withSignals:或者类似的东西? 或者当我们处理networking调用和AFNetworking我们应该总是使用这种标准的订阅模式? 详细的解释将是非常有帮助的。 EDITS: 在我的应用程序中,我主要获取调用,其中一些是依赖的,其他人是单一的(绝大多数),如login或fetchWhatever ,或后postWhatever 。 所有的API调用,我用这样的模式构造( self – 是我的API manager NVMAPI类是AFHTTPSessionManager子类): -(RACSignal*)loginUserWithEmail:(NSString *)email andPassword:(NSString *)password { __block NSURLSessionDataTask* task; return [[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { task = [self GET:kUserLoginEndpoint parameters:@{@"email": email, @"password": password} success:^(NSURLSessionDataTask […]

如何使用AFNetworking形成一个多部分表单数据请求1.3.3

我正在使用AFNetworking 1.3.3。 我需要使用图像数据和其他一些东西来向服务器发送multipart/form-data请求。 我不知道如何格式化这个多部分请求。 我该怎么做?

AFNetworking:setRedirectResponseBlock在我的类NSURLResponse总是返回空值

我正在使用AFNetworking类与networking服务交互。我在这方面有一些问题。 AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:theRequest];// using AFHTTPRequestOperation to request Data [operation setRedirectResponseBlock:^NSURLRequest *(NSURLConnection *connection, NSURLRequest *request, NSURLResponse *redirectResponse) { NSLog(@"connection :%@",connection); NSLog(@"request :%@",request); NSLog(@"response :%@",redirectResponse); question 1:? i get NSURLResponse value is null. output:response :(null) return request; }]; 在断点的帮助下,我检查AFNetworking类(类名:AFURLConnectionOperation.m)是否从服务器获得响应? 是的,它得到了回应。 – (void)setRedirectResponseBlock:(NSURLRequest * (^)(NSURLConnection *connection, NSURLRequest *request, NSURLResponse *redirectResponse))block { self.redirectResponse = block; NSLog(@"connection […]

我如何正确设置AFNetworking获取请求?

我试图从我的服务器检索一行代码,并在我的NSUserDefaults实现它。 现在,这就是我的appdelegate.m样子: NSDictionary* defaults = @{@"server_addr": @"http://156.92.15.802"}; [[NSUserDefaults standardUserDefaults] registerDefaults:defaults]; http://156.92.15.802 url是我需要从我的服务器获取的部分。 如果我的服务器上有一个名为Example.txt的文件,并且该文件中只有一行像http://156.92.15.802 ,那么我怎样才能使用AFNetworking检查服务器上的文件,然后将其添加到NSUserDefaults ?

使用AFNetworking将图像上传到服务器达到了损坏

我一直在努力上传一个图像到服务器,它成功上传,但在服务器端,如果我试图打开它说cannot be displayed because it contains errors的图像, cannot be displayed because it contains errors 。我使用AFNetworking转换成JPEGRepresentation后上传图像。 let uploadManager : AFHTTPSessionManager = AFHTTPSessionManager() uploadManager.responseSerializer = AFHTTPResponseSerializer() as AFHTTPResponseSerializer uploadManager.requestSerializer = AFHTTPRequestSerializer() as AFHTTPRequestSerializer uploadManager.requestSerializer.timeoutInterval = 20 uploadManager.POST(baseURL, parameters: nil, constructingBodyWithBlock: { (formData) -> Void in let selectedImage = self.userImage.image let imageData : NSData = UIImageJPEGRepresentation(selectedImage!, 0.5)! formData.appendPartWithFileData(imageData, […]

AFNetworking – 检查域的可达性

我正在使用AFNetworking 2.2.1并试图使用AFNetworkReachabilityManager来检查某个域是否可达,但它总是返回NO。 也许我不正确使用这个,并会感谢任何指针。 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager managerForDomain:@"www.google.com"]; // always returns NO: NSLog([manager isReachable] ? @"YES" : @"NO"); 我也尝试了startMonitoring方法(在pipe理器variables声明之后),但没有运气: [manager startMonitoring]; 编辑:正如大卫指出,需要添加一个状态更改块得到通知: AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager managerForDomain:@"www.google.com"]; [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){ switch (status) { case AFNetworkReachabilityStatusReachableViaWWAN: case AFNetworkReachabilityStatusReachableViaWiFi: case AFNetworkReachabilityStatusNotReachable: NSLog(@"Never called"); break; default: NSLog(@"Never called"); break; } }]; [manager startMonitoring]; // always returns NO: NSLog([manager […]