Set proxy-headers við HTTPAdapter.proxy_headers í Requests
Víðka HTTPAdapter.proxy_headers fyri eitt felt, sum proxien ásetur, meðan tann verandi framleiðslan av proxy-authentication-header í Requests verður varðveitt.
Fyri ein header, sum proxy-operatørin ásetur, bjóðar Requests HTTPAdapter.proxy_headers sum yviritisskriftarstað:
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 eitt felt, sum hesin ávísir proxy skilur, ikki ein standard háttur at vátta seg móti hvørjum millumlið.
Byrja við super().proxy_headers(proxy). Requests brúkar tann háttin at gera Proxy-Authorization, tá ið URL'in letur eina Basic-konto. At skifta út allari úrslitini kann missa hesa atferð.
Adapterin letur hesi virði víðari til ProxyManager í urllib3. Í einum HTTPS-tunli fylgja tey CONNECT. Tann vanligi header-mappingin lýsir seinni fyrispurninginum til málið.
Proxy-stýrarar verða cachelagdir eftir proxy-URL. Viðfar ikki hendan krók sum eitt ócachelagt callback fyri hvønn vinnufyrispurning til eitt virði, sum má broyta seg við hvørjum kalli. Vel transport-eigaranorsku samsvarandi, tá ið ein kontomerki broytist.
Við vanligari HTTP-víðarisending tørva proxy-felt enn tann ætlaðu nýtslupolitikkin hjá millumliðnum. At ein header er proxy-serlig í klient-API-inum er eingin trygd fyri trúnaði, um proxien sendir hann víðari.