Akka HTTP-ի HTTPS հարցման համար կարգավորեք դրա client transport-ը՝ forward proxy-ի միջոցով CONNECT հաստատելու համար։

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)

Հավելվածը տրամադրում է իր առկա ActorSystem-ը որպես system և պահպանում է սովորական stream-ի և պատասխանի էության կյանքի ցիկլը։ Սպառեք կամ դեն նետեք վերադարձված պատասխանի էությունը ըստ անհրաժեշտության, որպեսզի միացումը կարողանա ազատվել։

httpsProxy անվանումը այստեղ նշանակում է HTTPS նպատակակետի միացման հաստատում HTTP CONNECT proxy-ի միջոցով։ Սա ցուցում չէ TLS սեսիա բացելու հենց proxy-ի լսողի հետ։

Փոխանցեք հարմարեցված կարգավորումները այն հարցմանը կամ լողավազանին, որը ուղարկում է երթևեկությունը։ Եթե կարգավորումները կառուցվում են այլ լողավազանի կոնֆիգուրացիա օգտագործող կանչի կողքին, ապա այդ կանչը մնում է անփոփոխ։

Akka-ն փաստագրում է այս փոխադրումը HTTPS հարցումների համար։ Պահպանեք նպատակակետը որպես դրա իրական HTTPS URI։ HTTP proxy ցանկից HTTP վերջնակետը թեկնածու է փոխադրման համար, երբ այն թույլատրում է պահանջվող CONNECT նպատակակետը։ Սերվերի կողմի bindFlow փոխանցման օրինակը ստեղծում է մեկ այլ HTTP ծառայություն և պատասխանում է այլ կառուցման խնդրի։

Առնչվող հոդվածներ