Vir 'n Akka HTTP HTTPS-versoek stel u die kliëntvervoer op om CONNECT deur die vorentoe-proxy te vestig:

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)

Die toepassing voorsien sy bestaande ActorSystem as system en behou die gewone stroom- en response-entiteit-lewensiklus. Verbruik of verwerp die teruggekeerde response-entiteit soos toepaslik sodat die verbinding vrygelaat kan word.

Die naam httpsProxy verwys hier na die vestiging van 'n HTTPS-bestemmingsverbinding deur 'n HTTP CONNECT-proxy. Dit is nie 'n opdrag om 'n TLS-sessie met die proxyluisteraar self te open nie.

Gee die aangepaste instellings aan die versoek of poel wat die verkeer stuur. Om instellings langs 'n oproep te bou wat 'n ander poelkonfigurasie gebruik, laat daardie oproep onveranderd.

Akka dokumenteer hierdie vervoer vir HTTPS-versoeke. Hou die bestemming as sy werklike HTTPS-URI. 'n HTTP-eindpunt uit die HTTP-proxylys is 'n kandidaat vir die vervoer wanneer dit die vereiste CONNECT-bestemming toelaat. 'n Bedienerkant-bindFlow-deurstuurvoorbeeld skep 'n ander HTTP-diens en beantwoord 'n ander konstruksieprobleem.

Verwante artikels