scala import akka.actor.ActorSystem import akka.http.scaladsl.Http import akka.http.scaladsl.model.HttpRequest import akka.stream.ActorMaterializer object HttpClientExample extends App { implicit val system = ActorSystem() implicit val materializer = ActorMaterializer() import system.dispatcher val responseFut = Http().singleRequest(HttpRequest(uri = "https://api.example.com")) responseFut.foreach { response => val entityFut = response.entity.toStrict(5000) entityFut.foreach { entity => val responseBody = entity.data.utf8String println(responseBody) system.terminate() } } } scala import akka.actor.ActorSystem import play.api.libs.ws.ahc.StandaloneAhcWSClient object HttpClientExample extends App { implicit val system = ActorSystem() import system.dispatcher val client = StandaloneAhcWSClient() val responseFut = client.url("https://api.example.com").get() responseFut.map { response => val responseBody = response.body println(responseBody) client.close() system.terminate() } } scala import org.apache.hc.client5.http.impl.classic.{CloseableHttpClient, HttpClientBuilder} import org.apache.hc.core5.http.{HttpRequest, HttpResponse} import org.apache.hc.core5.util.Timeout object HttpClientExample extends App { val client: CloseableHttpClient = HttpClientBuilder.create().build() val request: HttpRequest = new HttpGet("https://api.example.com") val response: HttpResponse = client.execute(request, Timeout.DEFAULT) val responseBody = EntityUtils.toString(response.getEntity) println(responseBody) client.close() } scala import io.vertx.core.Vertx import io.vertx.core.http.HttpClient import io.vertx.core.http.HttpMethod object HttpClientExample extends App { val vertx = Vertx.vertx() val client = vertx.createHttpClient() client.request(HttpMethod.GET, "https://api.example.com") .compose(request => request.send().compose(response => { val responseBody = response.bodyAsString() println(responseBody) vertx.close() })) }


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