问题标签 [sttp]
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.
scala - 如何使用 sttp 将响应读取为 Observable[String]
我正在使用sttp客户端。我想将响应解释为除以行的字符串,例如Observable[String]
这里sttp流api:
那我怎么能得到Observable[String]
?
这里有一些想法:
1.有没有一种简单的split
按行观察的方法?
2.或者也许我可以InputStream
从响应中得到原始信息,所以我可以很容易地拆分它,但我找不到使用类似asStream[InputStream]
3的方法。或者也许只是使用 http 后端 witoutsttp
层?
scala - 如何使用 Scala sttp FetchBackend 处理 html 中的 JavaScript?
我需要在 HTML 响应中执行 JavaScript。我正在使用 sttp 版本 1.5.12。根据我只需要包含的文档,implicit val sttpBackend = FetchBackend()
但它不起作用。请参阅以下文档:https ://sttp.readthedocs.io/en/latest/backends/javascript/fetch.html
已经包含了对 Maven 的依赖。
例子:
我希望像其他支持的后端一样使用它。日食报告not found : value FetchBackend
任何帮助表示赞赏。
scala - 3rd 方隐式验证的 Spark 序列化解决方法
我正在运行一个 Spark 作业,该作业沿线执行一些 Http 调用。我决定使用一个Sttp
需要implicit
Http 后端的库,在我的例子中HttpURLConnectionBackend()
:一个对象应用它创建一个新的类实例,它是不可序列化的。
因此,因为我的 Spark 作业扩展了 this trait
,所以 Spark 作业中的 this 中的所有方法trait
在执行程序上都不可用。
作为一个相当无脑的解决方法,我做了val
a def
,但是整理这些东西的推荐方法是什么?
Spark 作业本身是一个class
,而不是一个object
. 这样做的原因是在测试中模拟/存根提到的 Http 后端。
scala - 如何同时发出 10 个 http 请求?
我有 10 个请求
如何同时发送这些请求?
我试过
但这给了我各种有趣的编译错误。
scala - 使用 SttpBackendStub 进行单元测试流请求
我有一个返回要测试的源流的请求,如下所示:
但它失败了,因为SttpBackendStub.asynchronousFuture
不处理流响应。
我怎样才能使用 SttpBackendStub 而不求助于类似的东西scalamock
?
scala - 如何使用 AsyncHttpClientCatsBackend 忽略 Scala 上的 SSL 认证?
在 Scala 上,我需要一个后端来发送一些 https 请求。我还必须最终信任我的服务器的证书。当我使用同步 HttpURLConnectionBackend 时,一切都很好,因为我可以更改我的 SSLContext 并将 X509TrustManager 替换为我的信任管理器。
现在我正在使用cats.effect重写这段代码,我应该让我的后端异步。所以我投了 AsyncHttpClientCatsBackend。它也是可定制的,尽管我找不到如何做同样的事情并忽略证书。我搜索并查看了 syncHttpClientCatsBackend 的实现,但没有成功。
scala - 是否将同步 HTTP 请求包装在被视为 CPU 或 IO 约束的 Future 中?
考虑以下两个片段,其中第一个使用 scalaj-http 请求包装Future
,而第二个使用 async-http-client
使用全局 EC同步使用 Future 包装的客户端
使用全局 EC 的异步客户端
片段正在使用
- 慢慢模拟慢速 API
- scalaj-http
- async-http-client sttp 后端
- 时间
前者需要 12 秒,而后者需要 6 秒。似乎前者的行为好像受 CPU 限制,但我不明白这是怎么回事,因为Future#sequence
应该并行执行 HTTP 请求?为什么包装的同步客户端的Future
行为与正确的异步客户端不同?异步客户端在幕后将调用包装在 Futures 中,难道不是这种情况吗?
scala - 如何运行 Monix 的 parSequenceUnordered 并处理每个任务的结果?
我目前正在努力实现对 API 的客户端 http 请求,并决定探索 sttp 和 monix 来完成这项任务。由于我是 Monix 的新手,我仍然不确定如何运行任务并检索它们的结果。我的目标是获得一系列 http 请求结果,我可以并行调用 -> 解析 -> 加载。
以下是我迄今为止尝试过的一个片段:
我的困惑相当简单(我猜)。如何运行Task.parSequenceUnordered
我创建的任务,并处理(解析 http 结果)序列中的任务?
很高兴:出于好奇,在处理请求的任务序列时是否可以天真地引入速率限制/节流?我并不是真的在寻找构建复杂的东西。它可以像间隔批量请求一样简单。想知道 Monix 是否已经为此提供了帮助。