Tag: nsurlsessiontask

采用AFNetworking 2.0拦截和防止redirect的推荐方法是什么?

在我看来,适当的地方这样做是在AFURLSessionManager中设置taskWillPerformHTTPRedirection块,但我不确定处理它的最佳方式。 目前,在我的AFHTTPSessionManager子类中,我为所有请求全局设置了redirect块,我知道我可以通过在这里返回nil来防止redirect: – (void)setupRedirectBlock { [self setTaskWillPerformHTTPRedirectionBlock:^NSURLRequest *(NSURLSession *session, NSURLSessionTask *task, NSURLResponse *response, NSURLRequest *request) { return nil; }]; } …但是我只需要在具体任务上做到这一点,似乎没有办法从任务本身获取这些信息。 我想我正在寻找某种用户信息字典或我可以用来设置一个标志告诉这个方法要么返回request或返回nil 。 目前,看起来我必须对远离实际创build任务和path的客户端的响应/请求URL进行string比较。 所以这就引出了一个问题,我是在和公约打交道,还是真的没有更好的方法来在任务的基础上截获AFNetworking 2.0redirect?

NSURLSessionDataTask和NSURLSessionDownloadTask有什么不同?

在最新的苹果引入新的NSURLSession来取代NSURLConnection ,所以在这里有不同的任务,那么NSURLSessionDataTask和NSURLSessionDownloadTask什么NSURLSessionDownloadTask呢? 并在哪个场景使用NSURLSessionTask和NSURLSessionDownloadTask ?

NSURLSession didCompleteWithError:与NSError调用是零

情景是当应用程序正在进行上传的时候,将应用程序多次应用到后台和前台,didCompleteWithError:应用程序前台调用方法,错误参数为null。 概率是1/3。 我怎样才能找出错误的参数不给任何东西。

如何从NSURLSessionTask禁用caching

在我的iOS应用程序中,我使用NSURLSessionTask将json数据下载到我的应用程序。 我发现,当我直接从浏览器调用url时,我得到一个最新的json,当它从应用程序中调用时,我得到一个老版本的json。 这是由于caching? 我怎么能告诉NSURLSessionTask不使用caching。 这是我使用的呼叫: NSURLSessionTask *task = [[NSURLSession sharedSession] dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 谢谢!

如何在iOS 7.1中使用NSURLSessiontestingHTTP请求和响应?

我想知道如何使用NSURLSession“unit testing”HTTP请求和响应。 现在,我的完成块代码在作为unit testing运行时不会被调用。 但是,当从AppDelegate (didFinishWithLaunchingOptions)中执行相同的代码时,将调用完成块中的代码。 正如在这个线程中所build议的, NSURLSessionDataTask dataTaskWithURL完成处理程序没有被调用 ,需要使用信号量和/或dispatch_group“确保主线程被阻塞,直到networking请求结束。 我的HTTP发布代码如下所示。 @interface LoginPost : NSObject – (void) post; @end @implementation LoginPost – (void) post { NSURLSessionConfiguration* conf = [NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession* session = [NSURLSession sessionWithConfiguration:conf delegate:nil delegateQueue:[NSOperationQueue mainQueue]]; NSURL* url = [NSURL URLWithString:@"http://www.example.com/login"]; NSString* params = @"username=test@xyz.com&password=test"; NSMutableRequest* request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"POST"]; [request […]