basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)

client = Tesla.client([], {Tesla.Adapter.Mint, [
  proxy: {:http, "proxy.example", 8080, []},
  proxy_headers: [{"proxy-authorization", basic}]
]})

برای عملیات موردنظر برنامه از این کلاینت Tesla استفاده کنید. URLهای آن‌ها همچنان مقصد سرویس‌ها هستند؛ proxy_user و proxy_password به حساب واسطه اشاره می‌کنند.

Mint هدرهای proxy_headers را برای پراکسی تونلی روی CONNECT اعمال می‌کند، یا در حالت فوروارد، با درخواست‌ها ادغام می‌کند. میان‌افزار عمومی Tesla برای هدرهای مقصد، همان ورودی اتصال در مرحلهٔ زودتر نیست.

مثال از Basic استفاده می‌کند. Base64 یک شیوهٔ نمایش است، نه رمزنگاری؛ حفاظت به شیوهٔ انتقال اتصال پراکسی بستگی دارد.

این گزینه‌ها را با آداپتر Mint نگه دارید. جایگزینی با Finch، Hackney یا آداپتر دیگر به رابط همان آداپتر نیاز دارد و Authorization مقصد همچنان تبادل احراز هویت دیگری است.

مقالات مرتبط