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 για proxy σήραγγας ή συγχωνεύει τις κεφαλίδες με τα αιτήματα σε λειτουργία προώθησης. Ένα γενικό middleware του Tesla για κεφαλίδες προορισμού δεν είναι αυτή η είσοδος του προηγούμενου σταδίου σύνδεσης.

Το παράδειγμα χρησιμοποιεί Basic. Το Base64 είναι αναπαράσταση, όχι κρυπτογράφηση· η προστασία εξαρτάται από τη μεταφορά της σύνδεσης προς τον proxy.

Κρατήστε αυτές τις επιλογές στον προσαρμογέα Mint. Η αντικατάστασή του με Finch, Hackney ή άλλον προσαρμογέα απαιτεί τη δική του διεπαφή, ενώ το Authorization του προορισμού παραμένει διαφορετική ανταλλαγή ελέγχου ταυτότητας.

Σχετικά άρθρα