Akka HTTP හි HTTPS ඉල්ලීමක් සඳහා, forward proxy හරහා CONNECT ස්ථාපිත කිරීමට එහි client transport වින්‍යාස කරන්න:

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 සේවාවක් සාදා වෙනත් ගොඩනැගීම් ගැටලුවකට පිළිතුරු දෙයි.

අදාළ ලිපි