Para unha solicitude HTTPS de Akka HTTP, configure o seu transporte de cliente para establecer CONNECT a través do proxy de reenvío:

import java.net.InetSocketAddress
import akka.http.scaladsl.{ClientTransport, Http}
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.settings.ConnectionPoolSettings

val transport = ClientTransport.httpsProxy(
  InetSocketAddress.createUnresolved("proxy.example", 8080))

val settings = ConnectionPoolSettings(system)
  .withConnectionSettings(_.withTransport(transport))

val response = Http().singleRequest(
  HttpRequest(uri = "https://example.com/"),
  settings = settings)

A aplicación fornece o seu ActorSystem existente como system e conserva o ciclo de vida habitual do fluxo e da entidade de resposta. Consuma ou descarte a entidade de resposta devolta segundo corresponda para que a conexión poida liberarse.

O nome httpsProxy refírese aquí a establecer unha conexión de destino HTTPS a través dun proxy HTTP CONNECT. Non é unha instrución para abrir unha sesión TLS co propio receptor do proxy.

Pase a configuración personalizada á solicitude ou ao grupo que envía o tráfico. Construír a configuración xunto a unha chamada que usa outra configuración de grupo deixa esa chamada sen cambios.

Akka documenta este transporte para solicitudes HTTPS. Manteña o destino como o seu URI HTTPS real. Un punto de conexión HTTP da lista de proxies HTTP é candidato para o transporte cando permite o destino CONNECT requirido. Un exemplo de reenvío bindFlow no lado do servidor crea outro servizo HTTP e responde a un problema de construción distinto.

Artigos relacionados