Tag: nsurlconnection

IOS发送post方法数据可以在php中以get方式访问

我对iOS很新。 我正试图通过post方法将数据发送到PHP。 在PHP中,它不能像$_POST['data']这样$_POST['data'] ,但它需要$_GET['data'] 。 我的iOS代码如下。 NSString *strURL = [NSString stringWithFormat:@"http://example.com/app_respond_to_job?emp_id=%@&job_code=%@&status=Worker-Accepted&comment=%@",SaveID2,txtJobcode1,alertTextField.text]; NSURL *apiURL = [NSURL URLWithString:strURL]; NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:apiURL]; [urlRequest setHTTPMethod:@"POST"]; NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self]; _receivedData = [[NSMutableData alloc] init]; [connection start]; NSLog(@"URL—%@",strURL); 有人可以解释为什么,这将是非常有帮助的。

使用Objective-C,login到服务并在没有API的情况下从结果页面中删除内容的最佳方式是什么?

我使用的一个服务没有API,但允许刮擦,所以我很好奇iOS / Objective-C中最好的方法是做什么: 获取用户login凭据 在网站login页面上提交 从结果页面抓取特定的链接 如何避免这样的问题,例如在将您带到内容网站之前,服务会将您redirect到“login成功,redirect…”页面? (这不允许您立即刮取结果页。) 例如: 像Instapaper这样的服务,如果我想访问它,而不直接使用API​​,例如,我将如何login,确认他们已经login,并在“login成功,redirect…”页面之后刮取内容? 甚至Twitter。

NSOperation和NSURLConnection神秘

我试图从一些服务器使用NSOperation和NSOperationQueue下载多个图像。 我的主要问题是下面的代码片段和这个链接有什么区别,性能明智吗? 我更喜欢第二种解决scheme,因为我们对操作有更多的控制,它更加清洁,如果连接失败,可以正确处理。 如果我尝试使用下面的代码从服务器上下载大约300张图片,我的应用程序将会有相当大的延迟,如果我启动应用程序,并立即进入主屏幕,然后回到应用程序,我会崩溃,因为没有足够的时间让应用程序再次活跃。 如果我取消注释[queue setMaxConcurrentOperationCount:1],则用户界面是响应的,如果它进入后台并返回到前台,它将不会崩溃。 但是,如果我实现类似于上面的链接,我不需要担心设置maxConcurrentOperationCount,默认值是罚款。 一切都响应,没有崩溃,似乎所有的队列得到更快完成。 所以这带来了我的第二个问题,为什么[queue setMaxConcurrentOperationCount:1]在我的代码中有如此大的影响? 从文档中,我认为将maxConcurrentOperationCount保留为默认值是可以的,而这只是告诉队列根据某些因素决定最佳值。 这是我在堆栈溢出的第一篇文章,所以希望这是有道理的,谢谢你的帮助! NSOperationQueue *queue = [[NSOperationQueue alloc] init]; //[queue setMaxConcurrentOperationCount:1]; for(NSURL *URL in URLArray) { [queue addOperationWithBlock:^{ NSHTTPURLResponse *response = nil; NSError *error = nil; NSData * data = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:URL] returningResponse:&response error:&error]; if(!error && data) { [data writeToFile:path atomically:YES]; } }]; }

几个用户获得NSURLErrorServerCertificateUntrusted

我在这个企业应用上有几百个用户。 我有2抛出一个NSURLErrorServerCertificateUntrusted不会和服务器通话。 我已经检查了服务器和证书是有效的,但这并没有让我感到意外,因为这个问题只影响这2个用户。 我已经让他们检查他们的iPad上的date/时间,他们是正确和自动设置。 我已经让他们连接尝试通过单元networking和本地WiFi热点。 这两名用户似乎不太可能成为中间人攻击的目标。 这个问题从来没有得到答案, Trust上的苹果TN2232文件提供了一些常见的问题,但还没有得到我的解决scheme,因为这些东西大多会影响所有的用户,而不仅仅是一对夫妇。 缺less发行人证书 – 对于任何给定的证书(可信锚点除外),系统必须能够find发行人的证书。 date问题 – 对于任何给定的证书,validationdate必须在证书的有效date范围内。 自签名证书 – 对于任何给定的证书,如果证书是自签名的,将导致评估失败(除非它是可信的锚)。 没有可信锚点 – 系统必须能够遵循颁发者证书通往可信锚点的path。 DNS名称不匹配 – 您尝试连接的DNS名称必须与服务器证书中的名称相匹配,如前一部分所述。 任何想法是什么导致这个以及如何解决它? 是的,我可以绕过安全并相信我的域名,但这不是我愿意接受的选项。

连接到名为com.apple.nsurlstorage-cache的服务已失效

我正在为iOS8创build一个自定义的键盘,而且我正在用NSURLConnection解决一些问题。 我正在使用这样的sendAsynchronousRequest:方法: [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { NSLog(@"recieved asynchronous response"); if (!connectionError) { [self connection:nil didReceiveData:data]; [self connectionDidFinishLoading:nil]; } else{ NSLog(@"connection failed – %@", connectionError); } }]; 这似乎一段时间(1-2天)正常工作,我可以正确接收数据。 在此之后,我开始看到以下错误信息: ***cachedResponseForRequest:key:handler failed: 错误域= NSCocoaErrorDomain代码= 4099“该操作无法完成(Cocoa错误4099.)”(与名为com.apple.nsurlstorage-cache的服务的连接失效)UserInfo = 0x17579030 {NSDebugDescription =服务连接名为com.apple.nsurlstorage-cache失效。}; {NSDebugDescription =“与名为com.apple.nsurlstorage-cache的服务的连接失效。 然后,我似乎能够正常工作的唯一方法是重置手机上的内容和设置。 如果有人能指出我正确的方向,为什么发生这种情况,我将非常感激。 提前致谢。

NSURLConnection:JSON文本没有以数组或对象和选项开始,以允许片段没有设置

我从NSURLConnection的connectionDidFinishLoading中得到以下错误 “(cocoa错误3840.)”(JSON文本没有开始与数组或对象和选项,以允许片段没有设置。)UserInfo = 0x7b71dbb0 {NSDebugDescription = JSON文本没有开始数组或对象和允许片段不能设置的选项。} 我使用了下面的代码: -(void)connectionDidFinishLoading:(NSURLConnection *)connection { NSError *error; id json = [NSJSONSerialization JSONObjectWithData:_urlData options:kNilOptions error:&error]; if (error) { NSLog(@"Loading Error = %@",error); } } 以下是我的JSON响应: { "result":"success", "details":[ { "id":"11531", "user_name":"", "fullname":"aa", "email_address":"aa", "user_type":"a", "server":"", "server_email":"", "server_password":"", "password":"0cc175b9c0f1b6a831c399e269772661", "clean_password":"a", "gender":"", "ceo_name":"", "ceo_picture":"", "ceo_contact":"", "ceo_contact_pic":"", "company_name":"a", "freight_company_name":"", "freight_company_email":"", "company_url":"11531", "company_keyword":"", "company_description":"", […]

在执行下一条语句之前,如何等待NSURLConnection委托完成?

这是一个很难search。 我发现了一个类似的问题, iOS 5在填充表之前等待委托完成? ,但接受的答案是“刷新表视图”,这并没有帮助我。 我发现的其他结果往往是在C#中。 我有一个从iPhonestream到Wowza服务器的应用程序。 当用户点击logging时,我生成一个唯一的设备ID,然后将其发送到服务器上的PHP脚本,该脚本返回带有configuration设置(包括rtmp转储链接)的JSON文档。 问题是,委托方法是asynchronous的,但我需要在我的- (IBAction)recordButtonPressed方法的下一行代码之前获取configuration设置,因为代码是什么设置configuration文件设置,然后基于这些设置进行logging。 我已经意识到,我可以像现在一样在-recordButtonPressed创buildNSURLConnection ,然后在委托方法connectionDidFinishLoading (或者只是封装设置和方法从那里调用它) 内部继续安装代码,但是这会牺牲function的一致性devise,吮吸。 是否没有一些简单的waitUntilDelegateIsFinished:(BOOL)nonAsyncFlag标志我可以发送给委托,所以我可以从网上拉数据的顺序操作?

从networking上的数据抓取类返回数据?

我试图创build一个类,让我从一个Web服务获取请求的数据。 我被困在如何返回值。 // FooClass.m // DataGrabber is the class which is supposed to get values dataGrabber = [[DataGrabber alloc] init]; xmlString = [dataGrabber getData:[NSDictionary dictionaryWithObjectsAndKeys:@"news", @"instruction", @"sport", @"section", nil]]; 在这个例子中,它应该得到体育新闻。 问题是DataGrabberasynchronous获取数据,并最终从几个NSURLConnection委托方法跳转。 在收到数据时如何知道FooClass?

限制NSURLConnection数据速率? (带宽限制)

有没有办法限制NSURLConnection使用的带宽,或者我被迫使用CFNetwork方法?

互联网在iOS上可用时的通知

当互联网可用时,是否有可能在我的应用程序中收到通知或其他内容。 我知道可达性和各种东西。 但是,我想要的是启动一些待定NSUrlConnections当互联网变得可用的设备上。 有没有一个简单的方法来做到这一点,因为我不想使用循环线程,不断检查可达性。 有什么build议么?