HTTPS sorğuları üçün Akka HTTP-nin CONNECT transportu
Proksi transportunu bağlantı hovuzu parametrlərinə qoşun və həmin parametrləri tunelə ehtiyac duyan sorğuya ötürün.
Akka HTTP HTTPS sorğusu üçün onun müştəri transportunu CONNECT-i irəli proksi vasitəsilə qurmaq üçün konfiqurasiya edin:
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)
Tətbiq mövcud ActorSystem-i system kimi təqdim edir və adi axın və cavab-varlığı həyat dövrünü saxlayır. Bağlantının azad edilə bilməsi üçün qaytarılan cavab varlığını uyğun şəkildə istehlak edin və ya atın.
httpsProxy adı burada HTTP CONNECT proksisi vasitəsilə HTTPS təyinat bağlantısı qurmağı bildirir. Bu, proksi dinləyicisinin özünə TLS sessiyası açmaq üçün təlimat deyil.
Fərdiləşdirilmiş parametrləri trafiki göndərən sorğuya və ya hovuza ötürün. Başqa hovuz konfiqurasiyası istifadə edən çağırışın yanında parametrlər qurmaq həmin çağırışı dəyişməz qoyur.
Akka bu transportu HTTPS sorğuları üçün sənədləşdirir. Təyinatı onun real HTTPS URI-si kimi saxlayın. HTTP proksi siyahısından bir HTTP son nöqtəsi tələb olunan CONNECT təyinatına icazə verdikdə transport üçün namizəddir. Server tərəfində bindFlow yönləndirmə nümunəsi başqa HTTP xidməti yaradır və fərqli bir qurma probleminə cavab verir.