在Scala中发送HTTP请求

在Scala中发送HTTP请求,scala,Scala,如何发送HTTP请求 ? 并解析这个JSON格式的响应 提前感谢。这里是一个基于调度和JSON4s的示例 import dispatch._ import Defaults._ import org.json4s._ import org.json4s.jackson.JsonMethods._ val translateAPI = url("https://www.googleapis.com/language/translate/v2/") val response = Http( t

如何发送HTTP请求

?

并解析这个JSON格式的响应


提前感谢。

这里是一个基于调度和JSON4s的示例

import dispatch._
import Defaults._

import org.json4s._
import org.json4s.jackson.JsonMethods._

val translateAPI = url("https://www.googleapis.com/language/translate/v2/")

val response = Http( translateAPI OK as.String)

val json = parse( response() ) //() is added by Dispatch and forces to await the result forever ==     Await.result(response , forever)
要获取库,需要将以下内容添加到构建文件中:sbt示例

libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.2.8"

libraryDependencies += "net.databinder.dispatch" %% "dispatch-core" % "0.11.0"

您在示例中给出的URL缺少参数和凭据,如果没有这些参数和凭据,您将得到400错误。但是,如果您能够解决这个问题,它应该会起作用。

这里是一个基于调度和JSON4s的示例

import dispatch._
import Defaults._

import org.json4s._
import org.json4s.jackson.JsonMethods._

val translateAPI = url("https://www.googleapis.com/language/translate/v2/")

val response = Http( translateAPI OK as.String)

val json = parse( response() ) //() is added by Dispatch and forces to await the result forever ==     Await.result(response , forever)
要获取库,需要将以下内容添加到构建文件中:sbt示例

libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.2.8"

libraryDependencies += "net.databinder.dispatch" %% "dispatch-core" % "0.11.0"

您在示例中给出的URL缺少参数和凭据,如果没有这些参数和凭据,您将得到400错误。但是,如果您能够解决这个问题,它应该会起作用。

这里是一个基于调度和JSON4s的示例

import dispatch._
import Defaults._

import org.json4s._
import org.json4s.jackson.JsonMethods._

val translateAPI = url("https://www.googleapis.com/language/translate/v2/")

val response = Http( translateAPI OK as.String)

val json = parse( response() ) //() is added by Dispatch and forces to await the result forever ==     Await.result(response , forever)
要获取库,需要将以下内容添加到构建文件中:sbt示例

libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.2.8"

libraryDependencies += "net.databinder.dispatch" %% "dispatch-core" % "0.11.0"

您在示例中给出的URL缺少参数和凭据,如果没有这些参数和凭据,您将得到400错误。但是,如果您能够解决这个问题,它应该会起作用。

这里是一个基于调度和JSON4s的示例

import dispatch._
import Defaults._

import org.json4s._
import org.json4s.jackson.JsonMethods._

val translateAPI = url("https://www.googleapis.com/language/translate/v2/")

val response = Http( translateAPI OK as.String)

val json = parse( response() ) //() is added by Dispatch and forces to await the result forever ==     Await.result(response , forever)
要获取库,需要将以下内容添加到构建文件中:sbt示例

libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.2.8"

libraryDependencies += "net.databinder.dispatch" %% "dispatch-core" % "0.11.0"

您在示例中给出的URL缺少参数和凭据,如果没有这些参数和凭据,您将得到400错误。但如果你能解决这个问题,它应该会起作用。

这里有一个基于邋遢客户机的替代示例

val client = ScruffyClient()

val resp = client.prepareGet("https://www.googleapis.com/language/translate/v2").execute()

val entityAsString = resp.bodyAsString

val marshalledJson = resp.bodyAs[MyCaseClass]
您需要导入:

libraryDependencies += "com.sksamuel.scruffy" %% "scruffy-client" % "1.2.5"

下面是一个基于邋遢客户机的替代示例

val client = ScruffyClient()

val resp = client.prepareGet("https://www.googleapis.com/language/translate/v2").execute()

val entityAsString = resp.bodyAsString

val marshalledJson = resp.bodyAs[MyCaseClass]
您需要导入:

libraryDependencies += "com.sksamuel.scruffy" %% "scruffy-client" % "1.2.5"

下面是一个基于邋遢客户机的替代示例

val client = ScruffyClient()

val resp = client.prepareGet("https://www.googleapis.com/language/translate/v2").execute()

val entityAsString = resp.bodyAsString

val marshalledJson = resp.bodyAs[MyCaseClass]
您需要导入:

libraryDependencies += "com.sksamuel.scruffy" %% "scruffy-client" % "1.2.5"

下面是一个基于邋遢客户机的替代示例

val client = ScruffyClient()

val resp = client.prepareGet("https://www.googleapis.com/language/translate/v2").execute()

val entityAsString = resp.bodyAsString

val marshalledJson = resp.bodyAs[MyCaseClass]
您需要导入:

libraryDependencies += "com.sksamuel.scruffy" %% "scruffy-client" % "1.2.5"

到目前为止你试过什么?试着一步一步地解决个别问题。关于HTTP请求,您研究了哪些资源以及哪些资源不起作用?我尝试了Dispatch framework,甚至添加了Thread.Sleep也没有帮助。但是没有成功(我建议此库用于HTTP GET:和此:用于JSON操作。到目前为止,您尝试了什么?尝试一步一步地解决各个问题。关于HTTP请求,您研究了哪些资源,哪些资源有效/无效?我尝试了Dispatch framework,甚至尝试添加Thread.Sleep都没有帮助。但没有成功。:(我建议此库用于HTTP GET:和此:用于JSON操作。到目前为止,您尝试了什么?尝试一步一步地解决各个问题。关于HTTP请求,您研究了哪些资源,哪些资源有效/无效?我尝试了Dispatch framework,甚至尝试添加Thread.Sleep都没有帮助。但没有成功。:(我建议此库用于HTTP GET:和此:用于JSON操作。到目前为止,您尝试了什么?尝试一步一步地解决各个问题。关于HTTP请求,您研究了哪些资源,哪些资源有效/无效?我尝试了Dispatch framework,甚至尝试添加Thread.Sleep都没有帮助。但没有成功。:(我建议此库用于HTTP GET:和此:用于JSON操作。是的,我尝试了在spray client和Dispath中获取超时异常。我通过从浏览器中点击URI进行检查,它工作正常。后来我意识到我的程序在代理后运行。我如何克服这种情况。请看一看,问题是addressed、 是的,我试过在spray client和Dispath中都出现超时异常。我通过从浏览器中点击URI进行检查,它工作正常。后来我意识到我的程序运行在代理之后。我如何克服这种情况。请看一看,问题已经解决。是的,我试过在spray client和d中都出现超时异常iPath.,我通过在浏览器中点击URI来检查它是否正常工作。后来我意识到我的程序运行在代理之后。我如何克服这种情况。请看一看,问题已经得到解决。是的,我尝试在spray client和Dispath中都出现超时异常。我通过在浏览器中点击URI来检查它是否正常工作e、 后来我意识到我的程序是在代理之后运行的。我如何才能克服这种情况。看一看,问题已经解决了。