Fir eng Akka HTTP HTTPS-Ufro konfiguréiert de Client-Transport, fir CONNECT iwwer de Forward-Proxy opzebauen:

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)

D'Applikatioun stellt hiren existéierenden ActorSystem als system zur Verfügung an erhält de gewéinleche Liewenszyklus vum Stream an der Äntwert-Entitéit. Verbraucht oder verwerft d'Äntwert-Entitéit, déi zréckkënnt, wéi et passt, sou datt d'Verbindung ka fräiginn ginn.

Den Numm httpsProxy bezeechent hei d'Opbaue vun enger HTTPS-Destinatiounsverbindung iwwer e HTTP CONNECT-Proxy. Et ass keng Uweisung, eng TLS-Sessioun mam Proxy-Listener selwer opzemaachen.

Gitt déi ugepasst Astellungen un d'Ufro oder de Pool, deen den Traffic schéckt. Astellungen nieft engem Opruff ze bauen, deen eng aner Pool-Konfiguratioun benotzt, léisst deen Opruff onverännert.

Akka dokumentéiert dësen Transport fir HTTPS-Ufroen. Halt d'Destinatioun als hir richteg HTTPS-URI. En HTTP-Endpunkt aus der HTTP-Proxy-Lëscht ass en Kandidat fir den Transport, wa en déi erfuerderlech CONNECT-Destinatioun erlaabt. E bindFlow-Weiderleedungsbeispill op der Serversäit erstellt en aneren HTTP-Service an äntwert op en anert Konstruktiounsproblem.

Ähnlech Artikelen