Para sa kahilingang HTTPS ng Akka HTTP, i-configure ang client transport nito upang magtatag ng CONNECT sa pamamagitan ng forward proxy:

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)

Ibibigay ng aplikasyon ang umiiral nitong ActorSystem bilang system at pinapanatili ang karaniwang lifecycle ng stream at response-entity. Ubusi o itapon ang ibinalik na response entity ayon sa nararapat upang maaaring pakawalan ang koneksyon.

Ang pangalang httpsProxy dito ay tumutukoy sa pagtatatag ng koneksyon sa destinasyong HTTPS sa pamamagitan ng HTTP CONNECT proxy. Hindi ito utos na magbukas ng TLS session sa mismong proxy listener.

Ipasa ang mga customize na setting sa kahilingan o pool na nagpapadala ng trapiko. Ang pagbuo ng setting sa tabi ng tawag na gumagamit ng ibang configuration ng pool ay hindi nagbabago sa tawag na iyon.

Idinodokumento ng Akka ang transport na ito para sa mga kahilingang HTTPS. Panatilihin ang destinasyon bilang tunay nitong HTTPS URI. Ang isang HTTP endpoint mula sa listahan ng HTTP proxy ay kandidato para sa transport kapag pinapayagan ang kinakailangang destinasyong CONNECT. Ang isang halimbawa ng bindFlow forwarding sa panig ng server ay gumagawa ng ibang serbisyong HTTP at sumasagot sa ibang problema sa pagbuo.

Kaugnay na mga artikulo