De CONNECT-transport fan Akka HTTP foar HTTPS-oanfragen
Keppelje it proxytransport oan de ynstellings fan it ferbiningpool en jou dy ynstellings troch oan de oanfraach dy't de tunnel nedich hat.
Foar in Akka HTTP HTTPS-oanfraach konfigurearje jo it klanttransport om CONNECT fia de foarútproxy te meitsjen:
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)
De applikaasje leveret syn besteande ActorSystem as system en behâldt de gewoane libbenssyklus fan 'e stream en de antwurd-entiteit. Brûk of smyt de weromjûne antwurd-entiteit sa nedich fuort, sadat de ferbining frijjûn wurde kin.
De namme httpsProxy ferwiist hjir nei it meitsjen fan in HTTPS-bestimmingsferbining fia in HTTP CONNECT-proxy. It is gjin opdracht om in TLS-sesje mei de proxylistener sels te iepenjen.
Jou de oanpaste ynstellings troch oan de oanfraach of it pool dat it ferkear stjoert. As ynstellings neist in oprop boud wurde dy't in oare poolkonfiguraasje brûkt, bliuwt dy oprop ûnferoare.
Akka dokumintearret dizze transport foar HTTPS-oanfragen. Hâld de bestimming as syn echte HTTPS-URI. In HTTP-einpunt út 'e HTTP-proxylist is in kandidaat foar de transport as it de fereaske CONNECT-bestimming tastean. In bindFlow-trochstjoerfoarbyld oan 'e serverkant makket in oare HTTP-tsjinst en beantwurdet in oar bouprobleem.