にあるとおり。
build.sbt
scalaVersion := "2.12.4" val http4sVersion = "0.17.5" libraryDependencies ++= Seq( "org.http4s" %% "http4s-dsl" % http4sVersion, "org.http4s" %% "http4s-blaze-server" % http4sVersion, "org.http4s" %% "http4s-blaze-client" % http4sVersion )
あとはsbt consoleで試してみる。
scala> import org.http4s.client.blaze._ import org.http4s.client.blaze._ scala> val httpClient = PooledHttp1Client() SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. httpClient: org.http4s.client.Client = Client(Kleisli(org.http4s.client.blaze.BlazeClient$$$Lambda$1715/1558206896@39c1f446),Task)
fs2.Taskとして返ってくるのでrunすれば結果を得られる。
scala> val yahoo = httpClient.expect[String]("https://www.yahoo.co.jp") yahoo: fs2.Task[String] = Task scala> yahoo.unsafeRun res2: String = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-style-type" content="text/css"> <meta http-equiv="content-script-type" content="text/javascript"> <meta name="description" content="日本最大級のポータルサイト。検索、オークション、ニュース、メール、コミュニティ、ショッピング、など80以上のサービスを展開。あなたの生活をより豊かにする「ライフ・エンジン」を目指していきます。"> <meta name="robots" content="noodp"> <meta name="google-site-verification" content="fsLMOiigp5fIpCDMEVodQnQC7jIY1K3UXW5QkQcBmVs"> <link rel="canonical" href="https://www.yahoo.co.jp/" /> <link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.yahoo.co.jp/"> <link rel="alternate" href="an...