Stilla proxy-hausa með HTTPAdapter.proxy_headers hjá Requests
Lengdu HTTPAdapter.proxy_headers fyrir reit sem proxyið skilgreinir og haltu núverandi myndun proxy-auðkenningarhausa í Requests.
Fyrir haus sem stjórnandi proxysins skilgreinir býður Requests HTTPAdapter.proxy_headers sem yfirskriftarstað:
from urllib.parse import urlsplit
import requests
from requests.adapters import HTTPAdapter
class TaggedProxy(HTTPAdapter):
def proxy_headers(self, proxy):
headers = super().proxy_headers(proxy)
endpoint = urlsplit(proxy)
if (endpoint.scheme == 'http'
and endpoint.hostname == 'proxy.example'
and endpoint.port == 8080):
headers['X-Proxy-Account'] = 'department-a'
return headers
with requests.Session() as session:
adapter = TaggedProxy()
session.mount('http://', adapter)
session.mount('https://', adapter)
response = session.get(
'https://service.example/data',
proxies={'https': 'http://proxy.example:8080'},
timeout=15,
)
X-Proxy-Account er dæmi um reit sem þetta tiltekna proxy skilur, ekki staðlað leið til að auðkenna sig gagnvart hverjum millilið.
Byrjaðu á super().proxy_headers(proxy). Requests notar þá aðferð til að búa til Proxy-Authorization þegar slóðin gefur Basic-reikning. Að skipta út öllu niðurstöðunni getur glatað þeirri hegðun.
Adapterinn sendir þessi gildi til ProxyManager í urllib3. Í HTTPS-göngum fylgja þau CONNECT. Venjulega hausakortið lýsir síðari beiðninni til áfangastaðar.
Proxy-stjórar eru skyggðir eftir proxy-slóð. Ekki líta á þennan krók sem óskyggða endurköllun fyrir hverja viðskiptabeiðni fyrir gildi sem verður að breytast við hvert kall. Veldu flutningseign í samræmi við það þegar reikningsmerki breytist.
Við venjulega HTTP-frameiningu þurfa proxy-reitir enn fyrirhugaða neyslustefnu milliliðarins. Að haus sé proxy-sértækur í API biðlarans er ekki trygging fyrir trúnaði ef proxyið sendir hann áfram.