scala import akka.actor.ActorSystem import akka.http.scaladsl.Http import akka.http.scaladsl.model._ import akka.http.scaladsl.settings.ConnectionPoolSettings import scala.concurrent.duration._ object HttpClientExample { def main(args: Array[String]): Unit = { implicit val system = ActorSystem() implicit val executionContext = system.dispatcher val connectionSettings = ConnectionPoolSettings(system).withConnectionSettings( ConnectionSettings(system).withIdleTimeout(30.seconds).withConnectingTimeout(5.seconds)) val http = Http()(system) val request = HttpRequest(uri = "http://example.com") http.singleRequest(request, settings = connectionSettings) .onComplete { case Success(response) => println(response) case Failure(ex) => println(ex.getMessage) } } } scala import akka.actor.ActorSystem import akka.http.scaladsl.Http import akka.http.scaladsl.model._ import scala.concurrent.Future object HttpClientExample { def main(args: Array[String]): Unit = { implicit val system = ActorSystem() implicit val executionContext = system.dispatcher val http = Http()(system) val request = HttpRequest(uri = "http://example.com") val response: Future[HttpResponse] = http.singleRequest(request) response.flatMap { case HttpResponse(StatusCodes.OK, headers, entity, _) => entity.toStrict(5.seconds).map(_.data.utf8String) case HttpResponse(statusCode, _, _, _) => Future.successful(s"Request failed with status code $statusCode") }.onComplete { case Success(result) => println(result) case Failure(ex) => println(ex.getMessage) } } }


上一篇:
下一篇:
切换中文