大佬教程收集整理的这篇文章主要介绍了ios – NSURLErrorDomain代码-1002下载pdf,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在另一个NSURLSessionDataTask的完成块内的for循环(尝试缓存6个网页)中有相关的NSURLSessionDataTask.当我跑步时,我不断收到此错误:
Ayy下载错误,数据:<>
响应:(空)
错误:错误域= NSURLErrorDomain代码= -1002“操作无法完成.(NSURLErrorDomain错误-1002.)”UserInfo = 0xdd89d30 {NSUnderlyingError = 0xdd89ba0“操作无法完成.(kcfErrorDomainCFNetwork错误-1002.) “}
这是我正在呼唤的片段
for (MAClass *class in [myDictResult objectForKey:@"classes"]) { NSString *PRURL = [[[class assignments] objectATindex:[[class assignments] count]-1] assignmentName]; NSLog(@"PRURL is %@",PRURL); NSURLSessionDataTask *progressReportTask = [defaultSession dataTaskWithURL:[NSURL URLWithString:PRURL] completionHandler:^(NSData *progressReportData,NSURLResponse *progressReportResponse,NSError *progressReportError) { if ([progressReportData length] > 0 && progressReportError == nil) { NSLog(@"got dat data"); } else NSLog(@"Error with getTing data data:%@\nresponse:%@\nerror:%@",progressReportData,progressReportResponse,progressReportError); }]; [progressReportTask resume]; NSLog(@"After request"); }
我确保该URL有效,看到这是其他人得到相同错误的原因(我的网址就像https://mistar.oakland.k12.mi.us/novi/studentPortal/Home/PrintProgressReport / 20152193 ^ HS4,当我将它们放入浏览器时有效)
我究竟做错了什么?
出现此错误的原因是您的网址包含一些必须进行转义百分比的字符.并且Web浏览器会经常为您执行必要的百分比转义,这就是它在那里工作的原因.
您可以使用StringByAddingPercentEscapesUsingEncoding将uRL转换为可接受的格式:
NSString *urlString = @"https://mistar.oakland.k12.mi.us/novi/studentPortal/Home/PrintProgressReport/20152193^HS4"; NSURL *url = [NSURL URLWithString:[urlString StringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSURLSessionTask *task = [defaultSession dataTaskWithURL:url completionHandler:^(NSData *data,NSURLResponse *response,NSError *error) { ... }];
顺便说一句,在将Web浏览器结果与应用程序进行协调时,Charles非常有用.从浏览器运行请求,然后再从应用程序运行请求,并在Charles中比较结果.如果你对这些进行了比较,你会发现你需要百分之百地逃避URl.
以上是大佬教程为你收集整理的ios – NSURLErrorDomain代码-1002下载pdf全部内容,希望文章能够帮你解决ios – NSURLErrorDomain代码-1002下载pdf所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。