Tag: nsurlconnection

NSURLConnection的initWithRequest何时返回nil

有谁知道在哪种情况下初始化一个NSURLConnection返回nil而不是创build的连接。 该文件说,这是可能的,但没有指定发生这种情况。 有问题的方法/消息: [[NSURLConnection alloc] initWithRequest:request delegate:self]; – 根据NSURLConnection类参考: 返回值:URL请求的URL连接。 如果无法初始化连接,则返回nil。 URL加载系统编程指南说: 如果NSURLConnection无法为请求创build连接,则initWithRequest:delegate:返回nil。 – 虽然这个方法有可能返回nil,但是我无法想出一个触发这个的scheme。 我已经尝试了以下情况: 具有空url的URLRequest : connection:didFailWithError:委托方法被称为“不支持的URL”,作为错误。 带有无效URL的URLRequest : connection:didFailWithError:委托方法被称为“错误的URL”。 URLRequest不存在url: connection:didFailWithError:调用委托方法“找不到指定主机名的服务器”。 作为错误。 有效的请求,但没有互联网: connection:didFailWithError:委托方法被称为“Internet连接似乎是脱机。 作为错误。 零请求:导致崩溃。 initWithRequest方法在每个场景中(除了最后一个场景)都返回了一个有效的NSURLConnection ,并且调用了connection:didFailWithError:带有一个适当的错误。 有没有人能够找出哪个场景导致零返回?

清除NSURLConnectioncaching

有没有办法清除NSURLConnectioncaching? 我用它来下载一些string,但我仍然得到相同的string,即使我改变了我的服务器。

如何使用NSUrlConnection从服务器获取图像

如何通过使用url发送一个参数从服务器获取图像。 GET HTTPRequest必须用于发送请求。

nsurlconnection处理了多less个urlRequests

我经历了很多网站后,我一次调用20个urlReqests我发现,4个urlRequsts处理后,下一个接受请求将遇到错误,是超时错误。当我打电话5个Web服务在一个循环中首先4个Web服务正在执行和第五得到超时error.How处理这种情况任何帮助将不胜感激

NSURLConnection不使用默认凭证

我正尝试使用NSURLConnection连接到http://cmis.demo.nuxeo.org/nuxeo/atom/cmis/ 。 此演示Web服务被logging为需要身份validation(login:pipe理员/密码:pipe理员)。 编辑 :这个Web服务现在发送一个身份validation的挑战,它不是在问的时候被问到。 此Web服务不发送身份validation质询,因此我无法使用connection:didReceiveAuthenticationChallenge:委托方法。 相反,我在共享凭据存储中设置了默认NSURLCredential 。 不幸的是, NSURLConnection没有使用这个默认凭证。 这里是我的代码(使用ARC,在iOS 5上testing): @implementation ViewController { NSMutableData *responseData; } – (IBAction) connect:(id)sender { NSString *user = @"Administrator"; NSString *password = @"Administrator"; NSURL *nuxeoURL = [NSURL URLWithString:@"http://cmis.demo.nuxeo.org/nuxeo/atom/cmis/"]; NSURLCredential *credential = [NSURLCredential credentialWithUser:user password:password persistence:NSURLCredentialPersistenceForSession]; NSString *host = [nuxeoURL host]; NSNumber *port = [nuxeoURL port]; NSString *protocol = […]

为什么iOS8 SSL请求从iOS7迁移后间歇性失败?

我有一个iOS应用程序,它可以在iOS7上正常工作。 现在我们正在iOS8上进行testing,在iOS8下运行时,我们遇到了SSL问题。 一些(但不是全部)SSL请求失败。 所有的请求都是针对同一台服务器的,SSL证书是有效的,可以在桌面上运行,并且在同一个应用运行iOS7时工作。 我们得到的错误是kCFURLErrorSecureConnectionFailed ,苹果文档是: 安全连接失败,原因不明。 另外,我得到以下login在控制台: CFNetwork SSLHandshake失败(-9846) 我们正在使用NSURLConnection。 我们已经实现了connection: willSendRequestForAuthenticationChallenge ,但是当我们得到错误的时候它不会被调用。 有谁知道这是否是一个已知的iOS8问题? 我的下一步要弄清楚为什么这些请求会失败?

NSURLConnection sendSynchronousRequest – 背景到前景

我使用sendSynchronousRequest从服务器获取数据。 我知道同步将等待,直到收到该请求的数据。 但是,当用户错误地进入一些不存在的url,并试图得到回应时,问题就来了。 在这种情况下,如果用户进入背景而不是进入前景,则只显示黑屏。 它只显示状态栏。 也没有显示任何后台应用程序。 我必须按下主页button来出我的应用程序。 在模拟器上,超过1分钟后,显示“请求超时”(没有崩溃)消息。 在设备上,1分钟内应用程序崩溃。 任何build议。 任何帮助。 这在我的应用程序中确实是一个严重的问题。 谢谢。

XTubeManager在后台崩溃?

我在XTubeManager中遇到大量的崩溃(似乎是CFNetwork内部)。 不幸的是,控制台日志不可用,只有调用堆栈(见下文)。 问题: 我可以想象,我的应用程序在后台崩溃,因此没有控制台日志被写入,你认为这是一种可能性? 我必须以不同的方式处理backgroundTask过期,例如取消所有的NSURLRequests ? (见下面的代码) 背景 我经常在后台醒来(或通过后台推送)并运行如下所示的后台任务: NSString *myTaskName = @"some.random.task.name"; __block UIBackgroundTaskIdentifier taskID = [UIApplication.sharedApplication beginBackgroundTaskWithName:myTaskName expirationHandler:^{ [UIApplication.sharedApplication endBackgroundTask:taskID]; taskID = UIBackgroundTaskInvalid; }]; dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(q, // doing some NSURLRequests stuff here [UIApplication.sharedApplication endBackgroundTask:taskID]; taskID = UIBackgroundTaskInvalid; }); 这通常在applicationDidEnterBackground调用 调用堆栈 Thread : Crashed: com.apple.NSURLConnectionLoader 0 libobjc.A.dylib 0x183599b90 objc_msgSend + […]

NSURLConnection – 禁用身份validation质询响应机制

情况 使用AFNetworking(NSURLConnection)来访问我的服务器API API需要使用令牌作为用户名的基本身份validation 当令牌无效时,API返回HTTP 401 我在任何请求之前设置基本身份validation标头 如果它返回401,我重试像这样: AFHTTPRequestOperation *requestOperation = [MyHTTPClient.sharedClient HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) { processSuccessBlock(operation, responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { processFailureBlock(operation, error); if (operation.response.statusCode == 401) [MyHTTPClient.sharedClient refreshTokenAndRetryOperation:operation success:processSuccessBlock failure:processFailureBlock]; }]; 问题 当服务器返回具有基本authentication质询的HTTP 401时,AFNetworking / NSURLConnection 将两次发送相同的请求 (初始请求,然后应答authentication质询) 但由于上面的代码我自己处理HTTP 401, 这是完全没有必要的 ,我希望它停止自动应答authentication的挑战 我试过了什么 响应cancelAuthenticationChallenge:将发送cancelAuthenticationChallenge:正在中止第二个调用,但它给出错误代码-1012(NSURLErrorUserCancelledAuthentication),而不是401,并掩盖真正的响应 如何禁用身份validation质询响应机制,以便在不调用服务器响应的情况下获得服务器响应两次?

_kCFStreamErrorCodeKey = -2102只有一些ISP的WiFi

我使用下面的代码将文件发送到服务器: NSString *urlString = [NSString stringWithFormat:@"%@%@",[LIUtility sharedUtility].uploadConnectionURL,BR_SERVER_UPLOAD_ADDRESS_FILE]; self.request =[[NSMutableURLRequest alloc] init]; [self.request setURL:[NSURL URLWithString:urlString]]; [self.request setHTTPMethod:@"POST"]; PKMultipartInputStream *body = [[PKMultipartInputStream alloc] init]; NSString *requestString =[self getRequestStringForRange:range andExtension:fileName]; NSData *requestData = [requestString dataUsingEncoding:NSUTF8StringEncoding]; NSString *jsonLengthString = [NSString stringWithFormat:@"%04lu",(unsigned long)requestData.length]; NSData *jsonLengthData = [jsonLengthString dataUsingEncoding:NSUTF8StringEncoding]; [body addPartWithName:@"jsonLength" data:jsonLengthData]; [body addPartWithName:@"json" data:requestData]; [body addPartWithName:@"separator" string:@"\r\n"]; [body addPartWithName:@"fileData" filename:fileName […]