问题标签 [nsurlsessionconfiguration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
663 浏览

nsurlsession - 使用 Nsurlsession 缓存响应发布请求

当我尝试使用 nsurlsession 调用发布请求时,无法缓存响应。请帮帮我。

提前致谢

0 投票
1 回答
875 浏览

ios - 测试是否遵守 NSURLSessionConfiguration 设置

我创建了一个带有一些默认设置的 NSURLSessionConfiguration ,但是当我在我的自定义 NSURLProtocol 中看到使用该配置创建的请求对象时,似乎并不是所有这些设置都是继承的,我有点困惑。

在我注册的自定义 NSURLProtocol

有什么方法可以检查我设置的那些参数是否被请求遵守和继承?

0 投票
0 回答
649 浏览

ios - 应用程序被杀死后使用 NSURLSessionUploadTask 恢复上传任务?

我正在使用以下代码使用 NSURLSessionUploadTask 上传图像

我的文件被正确上传到服务器上,但是如果应用程序在上传过程中被杀死,那么我无法通过获取会话标识符来恢复我的上传状态,然后再恢复它。

谷歌搜索后,我发现如果我的上传被中断,将调用以下委托方法(在我的应用程序重新启动后),但在我的情况下似乎没有调用此方法。

我是使用正确的方法来识别会话标识符还是有其他方法来实现我的要求?

0 投票
1 回答
582 浏览

ios - NSURLSession : 设置请求超时 > 75 秒 [服务器无法访问]

我有一个发布请求,需要使用NSURLSession. 由于某些要求,我必须将超时设置为 230 秒。所以这里的想法是,NSURLSession应该等待 230 秒,直到它将任务声明为超时问题。

我做了一些实验——

  1. 我设置了一些任意的 10 秒来检查超时问题,工作正常。
  2. 我将 50 秒设置为超时,工作正常。
  3. 我设置了 60 秒(这是默认超时),它又可以正常工作了。
  4. 我将 75 秒设置为超时,它也可以正常工作。
  5. 但是,当我将76设置为超时时,请求会在75 秒内超时
  6. 我将100 秒设置为超时,但请求在75 秒内再次超时。
  7. 我将200 秒设置为超时,请求在75 秒内再次超时。

那么是否有一些未记录的值,例如可用的最大超时时间为 75 秒?

我以两种方式设置超时

  1. 使用timeoutInterval属性NSMutableURLRequest
  2. 使用defaultSessionConfiguration属性,timeoutIntervalForRequest以及timeoutIntervalForResource

我曾经发布dataTaskWithRequest过服务。

所以最小值在确定超时时在所有三个属性之间生效。如果它小于 75 秒,它工作正常。但如果大于 75 秒,它就会忽略它。

请告诉我,什么问题?是 75 秒是分配给超时的最高时间,或者我在这里遗漏了什么。

PS 我正在主线程中执行任务并在 iOS 9.2 中进行调试。为了清楚起见,我正在检查服务器无法访问时的超时

0 投票
0 回答
161 浏览

ios - 观看操作系统:NSUrlSession 凭据缓存

我想从 iPhone 和 Apple Watch 实现“注销和新登录”功能。

  • 注销后,我可以从 iPhone 中清除凭据(使用 NSURLConnection 因为它的旧代码),但不能从 Apple Watch 中清除(使用 NSURLSession)。

  • 我在 Apple Watch 中使用 NSURLSession,因为它是 Apple 推荐的新功能。

  • 我尝试使用 ephemeralSessionConfiguration 从 Apple Watch 连接服务器(Watch OS 2.0、Swift 2.0、iOS 9.0 >> )。我调用了:'invalidateAndCancel' 和resetWithCompletionHandler API 来清除凭据并且行为没有变化。

  • 只有一次它会触发身份验证质询。之后,它总是使用我第一次提供的凭据。所以我无法使用新的登录用户凭据。

  • 我试图获取凭据存储和缓存以清除凭据。但是共享凭证存储和缓存是空的。

问题

我的方法有什么问题吗?还是 Watch OS 2.0 的错误?

0 投票
0 回答
485 浏览

xcode - NSURLConnection 中的代理 HTTP

我正在尝试使用下面的代码在 NSURLConnection 中代理我的请求,我的问题是我从似乎是代理的地方得到了一个奇怪的响应,而我应该得到的只是一个 IP 地址来表明代理是在职的。我的 NSURLResponse 很好,所以我不确定这里到底发生了什么。非常感谢任何帮助,谢谢!

\\ 这就是当我应该取回代理 IP 时我要取回的内容

0 投票
2 回答
169 浏览

nsurlsession - NSURLCache 用于 NSURLSession 后台任务

我正在尝试在我的应用程序中实现缓存,我正在使用具有后台配置的 NSURLSession 来满足我的大部分网络需求,它工作得很好,但是我添加了一个缓存对象,会话忽略它并总是转到服务器

我尝试将默认会话实例与缓存一起使用,系统使用缓存

我之前已经多次阅读过文档,但没有提到忽略后台任务的缓存对象

有谁知道这是一个错误还是什么

0 投票
0 回答
126 浏览

ios - 尝试上传字节时 URLSession 的意外行为

我的应用程序不断与服务器通信,我想计算我得到的带宽。为此,我决定计算上传和下载速度。

我正在使用 NSURLSession 与我的服务器通信。我正在做的是:在我恢复会话任务时存储时间戳(例如 Time1)。在URLSession(session: NSURLSession, task: NSURLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) totalBytesSetnt 超过或等于 expecetedBytesToSent 的方法中,我从Time1当前时间得到差异,这样我计算上传速度。

这是我的代码:

在这里,我在恢复会话任务后立即捕获了 time1。

我在我的代码中进一步使用了这个上传速度。我每次都使用新的会话任务发送相同的 JSON 数据(如上所述)。问题是:在第一次请求会话中需要一些时间来上传数据,但在那之后无论我在哪种网络速度下都需要的时间太少了。(使用网络链接调节器来改变网络)。

以下是示例:

0 投票
1 回答
1362 浏览

ios - AFNetworking 文件下载错误 Error Domain=NSCocoaErrorDomain Code=260

我正在使用 AFNetworking 3.0.4 下载视频文件及其进度报告。该文件似乎下载成功,但是当我保存此文件并尝试获取文件属性时,它给了我以下错误。

我正在使用这一行来获取文件属性。

这里的 fileAttributes 字典是 nil,它在 fileError 变量中给出了上述错误。

这是我的完整代码

有人可以指导我在这里做错了什么。任何帮助将不胜感激。谢谢

0 投票
1 回答
1002 浏览

ios - 对于 NSURLSessionConfiguration,背景默认值的实际差异是多少?

我在使用 NSURLSession 登录到使用 cookie 记录成功身份验证的网站的 iOS 应用程序上遇到问题。

使用 defaultSessionConfiguration() 我没有问题。(当应用程序在后台并通过远程推送消息触发时,它甚至可以工作。)

当我将会话配置为使用 backgroundSessionConfigurationWithIdentifier() 时,我可以进行身份​​验证,但后续下载不存在相应的 cookie。

应用在前台和后台时使用backgroundSession失败。

因此,影响 cookie 的默认值和背景之间肯定存在差异。两种配置都记录为使用共享 cookie 存储。

有人对此行为有解释和/或解决方法吗?