草庐IT

URLSession

全部标签

ios - swift 3 : Handle Errors in URLSession Delegates

我需要知道如何在委托(delegate)的URLsession中捕获错误(主要是中断)。我在自定义类中有以下Swift函数,它下载一个小文件来测试下载速度:functestSpeed(){Globals.shared.dlStartTime=Date()Globals.shared.DownComplete=falseletsession=URLSession(configuration:URLSessionConfiguration.default,delegate:self,delegateQueue:nil)lettask=session.downloadTask(with:ur

ios - 重试 URLSession dataTask 的模式?

我是iOS/Swift开发的新手,我正在开发一个向RESTAPI发出多个请求的应用程序。以下是其中一个检索“消息”的调用示例:funcgetMessages(){letendpoint="/api/outgoingMessages"letparameters:[String:Any]=["limit":100,"sortOrder":"ASC"]guardleturl=createURLWithComponents(endpoint:endpoint,parameters:parameters)else{print("FailedtocreateURL!")return}do{varr

ios - URLSession 的正确用法是什么,创建新的还是重用相同的

我正在使用URLSession在我的iOS项目中。(swift4)。以下代码仅用于说明目的。classMyTaskManager{...funcpostMyData(...){letdefaultSession=URLSession(configuration:.default)dataTask=defaultSession.dataTask(with:url){data,response,errorin...}dataTask.resume()}funcgetMyData(...){letdefaultSession=URLSession(configuration:.default

ios - URLSession 最佳实践——多次请求

我需要一些有关URLSession/NSURLSession最佳实践的指导。我的要求规定我必须执行临时/定期HTTPGET请求。即每隔几分钟,然后可能每30秒,随意更改。无论如何,我已经按如下方式实现了这一点,我有一个包含如下代码的方法:leturlRequest=URLRequest(url:url)//setupthesessionletconfig=URLSessionConfiguration.defaultletsession=URLSession(configuration:config)//maketherequestlettask=session.dataTask(wi

ios - URLSession : Why? 未缓存大图像 URL 响应

我使用URLSession数据任务从后端下载多个JPG图像。由于图像相当大(~500KB),我想缓存相应的响应直到它们过期(即它们已经超过了它们的最大年龄)。这是我用来下载图片的代码:letrequest=URLRequest(url:url,cachePolicy:.useProtocolCachePolicy,timeoutInterval:10.0)lettask=URLSession.shared.dataTask(with:request){(data,_,error)in//Error:guardletimageData=data,error==nil,letimage=U

ios - URLSession 下载任务比互联网连接慢得多

我正在使用URLSession和downloadTask在前台下载文件。下载比预期慢得多。我发现的其他帖子解决了后台任务的问题。letconfig=URLSessionConfiguration.defaultconfig.httpMaximumConnectionsPerHost=20letsession=URLSession(configuration:config,delegate:self,delegateQueue:nil)letrequest=URLRequest(url:url)letcompletion:((URL?,Error?)->Void)={(tempLocal

ios - NSURLSessionTaskDelegate 方法 URLSession :task:didCompleteWithError: never called

我所有的网络代码都依赖于NSURLSession委托(delegate)方法——而不是完成处理程序。我的数据和下载任务都很好,但我的上传任务从来没有导致URLSession:task:didCompleteWithError:被调用。但是,那URLSession:dataTask:didReceiveData:和URLSession:dataTask:willCacheResponse:completionHandler:委托(delegate)方法被调用。如果我在我的session对象上将资源超时设置为非常低的值,那么didCompleteWithErrors会被调用,但这显然不是解

ios - Swift 从 URLSession 返回数据

我无法从我的HTTP请求返回数据,我也无法让完成处理程序工作。所以请帮助我解决这个问题:publicstaticfunccreateRequest(qMes:message,location:String,method:String)->String{letrequestURL=URL(string:location)varrequest=URLRequest(url:requestURL!)request.httpMethod=methodrequest.httpBody=qMes.toString().data(using:.utf8)letrequestTask=URLSessi

ios - URLSession.shared 请求崩溃 Swift 3

为什么这个东西崩溃就是想不通varrequest=URLRequest(url:URL(string:url)!)request.httpMethod="POST"request.httpBody=try!JSONSerialization.data(withJSONObject:params,options:[])request.addValue("application/json",forHTTPHeaderField:"Content-Type")lettask=URLSession.shared.dataTask(with:request,completionHandler:{

ios - 如何使用 URLSession 从 url 获取 JSON 数据?

我正在开发一个iOS应用程序,我必须在其中从thisurl获取数据.我看到这个url包含JSON数据,所以我是否需要解析它我不知道如何获取这个JSON数据。这是我的代码。importUIKitimportSwiftyJSONtypealiasServiceResponse=(ApiResponseData,NSError?)->VoidclassApiManager:NSObject{varsession:URLSession?=nilvarurlRequest:URLRequest?=niloverrideinit(){super.init()urlRequest=URLReques