我只想用喷雾获取HTML页面

时间:2014-08-15 20:59:29

标签: scala spray

但他们的文档假设我已经熟悉Scala,Akka和Spray本身。我的意思是我无法找到如何做这个简单的基本事情,我希望在他们的主页上有一个代码片段...

我唯一能找到的是如何使用spray-httpx

建立请求
import spray.httpx.RequestBuilder._
val req = Get("http://url")

该对象没有将自己发送到任何地方的操作,所以我确定我应该使用Akka的东西来做它,但是他们的文档没有显示该过程。请告诉我怎么做。如果spray-can做同样的事情,我知道它可以,我更喜欢这样。

1 个答案:

答案 0 :(得分:1)

这里有一个例子:http://spray.io/documentation/1.1-SNAPSHOT/spray-client/

import spray.http._
import spray.client.pipelining._

implicit val system = ActorSystem()
import system.dispatcher // execution context for futures

val pipeline: HttpRequest => Future[HttpResponse] = sendReceive

val response: Future[HttpResponse] = pipeline(Get("http://spray.io/"))

甚至更简单的示例:https://github.com/spray/spray/wiki/spray-client

val conduit = new HttpConduit("github.com")
val responseFuture = conduit.sendReceive(HttpRequest(GET, uri = "/"))

在这两种情况下,您都必须像处理Future一样处理结果,例如:

for {response <- responseFuture} yield { someFunction(response) }