I use the following: https://github.com/scalaj/scalaj-http.
Here’s a simple GET request:
import scalaj.http.{Http, HttpOptions}
Http("http://example.com/search").param("q", "monkeys").asString
and an example of a POST:
val result = Http("http://example.com/url").postData("""{"id":"12","json":"data"}""")
.header("Content-Type", "application/json")
.header("Charset", "UTF-8")
.option(HttpOptions.readTimeout(10000)).asString
Scalaj HTTP is available through SBT:
libraryDependencies += "org.scalaj" % "scalaj-http_2.11" % "2.3.0"