我正在调用API,但大多数情况下我一直收到错误:" 自SSL连接已关闭后删除关闭 "和" 过早连接关闭(服务器似乎不支持请求流水线)". "就像90%的时间我得到了这个错误,这意味着:在非常罕见的情况下,查询会返回它应该的数据.
为了确保这不是API的服务器问题,我使用Node.js(Express和Request libs)复制相同的查询,并且它每次都有效.这让我几乎可以肯定是一个喷雾虫.
这是代码的示例:
case class MyClass(user: String, pass: String)
class MyActor extends Actor {
import spray.client.pipelining._
import spray.http.BasicHttpCredentials
import spray.http.{HttpRequest,HttpResponse}
import scala.concurrent.Future
import context.dispatcher
def receive = {
case myClass: MyClass => {
val credentials: BasicHttpCredentials = BasicHttpCredentials(myClass.user, myClass.pass)
val url: String = "https://myApi?params=values"
val request: HttpRequest = Get(url) ~> addCredentials(credentials)
val pipeline = sendReceive
val response: Future[HttpResponse] = pipeline(request)
val finalRes: Future[String] = response.map{ r =>
println(r)
r.entity.asString
}
finalRes pipeTo …Run Code Online (Sandbox Code Playgroud)