HTTPS تەلەپلىرى ئۈچۈن Akka HTTP نىڭ CONNECT يۆتكىگۈچىسى
proxy يۆتكىگۈچىنى connection pool تەڭشەكلىرىگە باغلاڭ ۋە بۇ تەڭشەكلەرنى تۇنېلغا ئېھتىياجلىق تەلەپكە يوللاڭ.
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 بىلەن response-entity ھايات دەۋرىنى ساقلايدۇ. ئۇلىنىشنى قويۇپ بېرىش ئۈچۈن قايتۇرۇلغان response entity نى مۇۋاپىق ئىشلىتىڭ ياكى تاشلاڭ.
بۇ يەردىكى httpsProxy نامى HTTP CONNECT proxy ئارقىلىق HTTPS مەنزىل ئۇلىنىشى قۇرۇشنى كۆرسىتىدۇ. بۇ proxy listener نىڭ ئۆزىگە TLS سېسسىيە ئېچىش بۇيرۇقى ئەمەس.
خاسلاشتۇرۇلغان تەڭشەكلەرنى ترافىك يوللايدىغان تەلەپ ياكى pool غا يوللاڭ. باشقا pool سەپلىمىسى ئىشلىتىدىغان چاقىرىقنىڭ يېنىدا تەڭشەك قۇرۇش ئۇ چاقىرىقنى ئۆزگەرتمەيدۇ.
Akka بۇ يۆتكىگۈچىنى HTTPS تەلەپلىرى ئۈچۈن ھۆججەتلەشتۈرىدۇ. مەنزىلنى ئۇنىڭ ھەقىقىي HTTPS URI سۈپىتىدە ساقلاڭ. HTTP proxy تىزىملىكىدىن كەلگەن HTTP endpoint تەلەپ قىلىنغان CONNECT مەنزىلىگە رۇخسەت قىلغاندا يۆتكىگۈچ ئۈچۈن نامزات. مۇلازىمېتىر تەرەپتىكى bindFlow forwarding مىسالى يەنە بىر HTTP مۇلازىمىتى قۇرۇپ، باشقا قۇرۇلۇش مەسىلىسىگە جاۋاب بېرىدۇ.