问题标签 [urlsession]

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 投票
0 回答
9599 浏览

ios - TIC TCP 连接失败

我用来获取 .mjpeg 视频源的服务器发生了一些变化。

现在我收到此错误:

TIC TCP 连接失败 [5:0x1d4361380]: 3:-9802 Err (-9802)

TIC TCP 连接失败 [6:0x1c0177a00]: 3:-9800 Err(-9800)

TIC TCP 连接失败 [7:0x1d4361440]: 3:-9800 Err(-9800)

NSURLSession/NSURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9800)

任务 <2B8346B5-6BB2-4B92-B311-554410CBF92F>.<1> HTTP 加载失败(错误代码:-1200 [3:-9800])

任务 <2B8346B5-6BB2-4B92-B311-554410CBF92F>.<1> 完成错误 - 代码:-1200

这是我收到错误的代码:

我已经将 NSAllowsArbitraryLoads 设置为 true:

为了获得 .mjpeg,我使用了 MjpegStreamLib 的代码。

有什么问题?

0 投票
1 回答
1428 浏览

swift - URLSession“找不到主机名”,但我在浏览器中看到它

  我有这个代码:

 

消息区域得到这个:

0x608000162580]: 10:-72000 Err(-65563) 2017-11-21 22:42:01.929003+1000 AltcoinTrader[36412:12415423] 任务 <209F1681-53BB-4E9D-A553-E349AE087159> 加载失败(<<<错误代码:-1003 [10:-72000]) 2017-11-21 22:42:01.929234+1000 AltcoinTrader[36412:12415423] 任务 <209F1681-53BB-4E9D-A553-E349AE087159>.<1> 以错误结束 -代码:-1003 错误域=NSURLErrorDomain 代码=-1003 “找不到具有指定主机名的服务器。” UserInfo={NSUnderlyingError=0x604000046720 {错误域=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_kCFStreamErrorCodeKey=-72000, _kCFStreamErrorDomainKey=10}}, NSErrorFailingURLStringKey= 1> HTTP 加载失败(错误代码:-1003 [10:-72000])2017-11-21 22:42:01.929234+1000 AltcoinTrader[36412:12415423] 任务 <209F1681-53BB-4E9D-A553-E349AE087159>。< 1> 以错误结束 - 代码:-1003 错误域 = NSURLErrorDomain 代码 = -1003 “找不到具有指定主机名的服务器。” UserInfo={NSUnderlyingError=0x604000046720 {错误域=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_kCFStreamErrorCodeKey=-72000, _kCFStreamErrorDomainKey=10}}, NSErrorFailingURLStringKey= 1> HTTP 加载失败(错误代码:-1003 [10:-72000])2017-11-21 22:42:01.929234+1000 AltcoinTrader[36412:12415423] 任务 <209F1681-53BB-4E9D-A553-E349AE087159>。< 1> 以错误结束 - 代码:-1003 错误域 = NSURLErrorDomain 代码 = -1003 “找不到具有指定主机名的服务器。” UserInfo={NSUnderlyingError=0x604000046720 {错误域=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_kCFStreamErrorCodeKey=-72000, _kCFStreamErrorDomainKey=10}}, NSErrorFailingURLStringKey=https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes/ , NSErrorFailingURLKey= https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes/ , _kCFStreamErrorDomainKey=10, _kCFStreamErrorCodeKey=-72000, NSLocalizedDescription=指定主机名的服务器可以找不到。}

   

-1003 代码可能是更相关的代码。我在尝试 String(contentsOf: url) 时得到了这一点,我知道该 URL 是有效的,因为我可以将其粘贴到浏览器中并取回正确的 JSON 字符串。我在这里做错了什么?我在最新的 macOS 10.13.1 上用 Xcode 9.1 做我的第一个 mac 应用程序。  

问候

标记

0 投票
1 回答
26 浏览

json - 从不同端点下载特定数据的 JSON

我正在尝试从不同的端点获取 JSON 图像 url。目前,我可以调用第一个端点来获取练习名称、描述和 ID 的数据。然后对于每个练习,我都尝试使用 ID 值调用不同的端点,这样我就可以获得特定练习的图像 url。

我唯一的想法是创建对不同端点的嵌套 API 调用,但是我遇到了太多语法错误并且它不起作用。

问题是如何重新格式化我的代码以删除现有的语法错误。

这是我的代码。我实际上从未见过一种方法来执行这种类型的 API 调用。

0 投票
0 回答
114 浏览

swift - Swift:在通过委托处理基本身份验证挑战时传递自定义 HTTP 标头

我对我的 Web 服务进行网络调用并获得基本的身份验证挑战。

我需要在质询响应中传递用户名、密码和 cookie。我怎样才能做到这一点?请注意,我不能将标头作为初始请求的一部分传递,因为存在一些服务器端限制,因此我需要使用这些标头动态响应挑战:

我现在使用的是:

如何在此行的完成处理程序中传递自定义标头?

0 投票
1 回答
2209 浏览

ios - URLRequest 和 URL 有什么区别?

我正在使用URLSession下载文件。有两种方法:

两者有什么区别?除了POST、PUT,简单下载还有什么特殊用途吗?

0 投票
1 回答
1202 浏览

swift - Swift 4 URLSession 422 无错误响应

使用 Swift 4,我像这样调用 RESTful API:

响应的 statusCode 为 422,这是一个失败代码,但错误为 nil。为什么会出现这种情况?

0 投票
2 回答
441 浏览

ios - 在 AppDelegate 中工作但不在任何其他类中的代码

我正在使用 socket.io 客户端快速。当我声明并连接套接字并在 AppDelegate 中使用它的命令时,一切正常。但是一旦我将这些东西从 AppDelegate 移动到另一个类(使套接字成为全局变量)并从 AppDelegate 调用该类的函数,套接字错误就开始出现(错误的描述与这个主题真的无关。我有一个关于 Socket.io 问题的讨论)我想问的问题是这种情况吗?我用过

在那个文件中,但这永远不会被调用。

据我所知,AppDelegate 是一个委托,当应用的状态发生一些变化(即它的启动或进入后台/前台)时,它会被调用。而且在 AppDelegate 中弄乱大量代码也不是一个好习惯。显然这两个文件的范围没有区别,那么为什么会发生这种情况?

如果我的理解有误,请纠正我。如何解决这个错误问题?或者至少我可以尝试什么其他方法来解决这个问题?任何帮助,将不胜感激。

更新: 这是代码:当我在 AppDelegate 中编写它时:

当我将其写入其他文件时:

CC通知:

Cuufy客户端:

最后将其称为:

注意: 两种方式都有效。但是当我在 CCNotifications 中编写代码并运行它时,有时它会开始给出套接字错误:会话 id 未知,然后一次又一次地连接自己。

更新2: 日志中套接字错误之前的一行我观察到了这个错误:

搜索此错误后,我知道在 Xcode 9 中,此错误表明 TCP 连接已关闭。当我在 socket.io 分支上打开这个问题时,专家说:

该库在底层网络之上的相当高的级别上运行。它依赖 URLSession 或 Starscream 来告诉它何时连接丢失。

任何人都可以帮助我解决 URLSession 为什么 TCP 正在关闭,因为我对 iOS 还很陌生。

0 投票
0 回答
37 浏览

swift - 将 URLSession.sared.dataTasks 限制为 10 次下载

我正在创建一个博客阅读器,我希望它只显示 10 个条目,如果用户想要更多,他必须滚动加载更多。现在我正在使用

这让我可以下载博客的信息,但如果有很多帖子,它的应用程序需要很长时间才能加载和显示信息,所以我想显示 10 x 10 或类似的东西。但是我没有找到限制我下载的数据数量的选项,是否可以让它只下载 10 个帖子,我已经看到我可以配置完成任务的时间,这是唯一的方法吗?做吗?谢谢

0 投票
0 回答
3224 浏览

json - Swift:使用 JSONEncoder 编码数据发送 POST 请求不起作用

我正在使用 Swift4 提供的 JSONEncoder。我有一个名为 Customer 的类,它使用 Codable 协议。Customer 内部有四个字符串。

使用 GET 请求读取 JSON 可以正常工作。

但是,当我开始执行 POST 请求时,我迷路了:

首先设置请求对象:

现在发出来

作为回报,我收到消息“给定的数据不是有效的 JSON”。

所以,我的假设是我不能只是将编码的 JSON 数据放入我的请求的 http 正文中。

浏览一些关于 URLSession 和 JSON 的文章,我发现我似乎需要序列化我的编码 JSON:

现在,我不知道如何进行。首先,我不明白为什么我应该将我的 JSON 序列化为不能简单地放入 httpBody 的东西。因为 JSONSerialization.jsonObject 产生 Any? 而不是数据。

现在更新 ,我能够成功地将我的数据发送到我的服务器。我仍在试图了解出了什么问题 - 因为我没有更改任何内容(除了在完成处理程序中删除 JSONSerialization 调用。我将进一步调查......并且 .resume 已经丢失。:-)

0 投票
1 回答
290 浏览

ios - ios从json urlsession dataTask获取可解码对象参数

从 URLSession dataTask 的这个响应中,我如何转置收到的数据:

对这个结构使用语句

它属于数据类型,但我只需要一个数据表,而不是两者,而且我无法为收到的 jsonData 下标。我无法为 from: 参数获取正确的格式,我知道使用 REST API 和 JSON,并且可以真正使用帮助。谢谢