ការដឹកជញ្ជូន CONNECT របស់ Akka HTTP សម្រាប់សំណើ HTTPS
ភ្ជាប់ការដឹកជញ្ជូនប្រូកស៊ីទៅនឹងការកំណត់អាងតភ្ជាប់ ហើយបញ្ជូនការកំណត់ទាំងនោះទៅសំណើដែលត្រូវការរូងក្រោមដី។
សម្រាប់សំណើ HTTPS របស់ Akka HTTP សូមកំណត់ការដឹកជញ្ជូនអតិថិជនរបស់វាឱ្យបង្កើត 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 ហើយរក្សាវដ្តជីវិតធម្មតានៃស្ទ្រីម និងអង្គតាមឆ្លើយតប។ សូមប្រើប្រាស់ ឬបោះចោលអង្គតាមឆ្លើយតបដែលបានត្រឡប់មកវិញតាមសមស្រប ដើម្បីឱ្យការតភ្ជាប់អាចត្រូវបានដោះលែង។
ឈ្មោះ httpsProxy នៅទីនេះសំដៅលើ ការបង្កើតការតភ្ជាប់គោលដៅ HTTPS តាមរយៈប្រូកស៊ី HTTP CONNECT។ វាមិនមែនជាការណែនាំឱ្យបើកសម័យ TLS ជាមួយអ្នកស្តាប់ប្រូកស៊ីខ្លួនឯងនោះទេ។
បញ្ជូនការកំណត់ដែលបានប្តូរតាមតម្រូវការទៅសំណើ ឬអាងដែលបញ្ជូនចរាចរណ៍។ ការបង្កើតការកំណត់នៅក្បែរការហៅដែលប្រើការកំណត់អាងផ្សេងទៀតធ្វើឱ្យការហៅនោះមិនផ្លាស់ប្តូរ។
Akka ចងក្រងឯកសារការដឹកជញ្ជូននេះសម្រាប់សំណើ HTTPS។ រក្សាគោលដៅជា HTTPS URI ពិតរបស់វា។ ចំណុចបញ្ចប់ HTTP ពីបញ្ជីប្រូកស៊ី HTTP គឺជាបេក្ខជនសម្រាប់ការដឹកជញ្ជូន នៅពេលវាអនុញ្ញាតគោលដៅ CONNECT ដែលត្រូវការ។ ឧទាហរណ៍បញ្ជូនបន្ត bindFlow នៅខាងម៉ាស៊ីនមេបង្កើតសេវា HTTP មួយផ្សេងទៀត ហើយឆ្លើយសំណួរសំណង់ខុសគ្នា។