Cinwaan uu qeexo maamulaha proxy-ga, Requests waxa uu HTTPAdapter.proxy_headers u soo bandhigaa barta dib-u-qoris:

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 waa tusaale goob ay fahanto proxy-gan gaar ah, ma aha hab caadi ah oo lagu xaqiijiyo dhammaan dhexdhexaadiyayaasha.

Ka bilow super().proxy_headers(proxy). Requests waxa uu isticmaalaa habkaas si uu u abuuro Proxy-Authorization marka URL-ku bixiyo akoon Basic. Beddelka natiijada oo dhan waxa laga yaabaa in uu lumiyo hab-dhaqankaas.

Adapter-ku waxa uu qiyamkan u gudbiyaa ProxyManager ee urllib3. Tunnel HTTPS ah waxa ay la socdaan CONNECT. Khariidadda caadiga ah ee cinwaannada codsigu waxa ay qeexdaa codsiga dambe ee loo socdo meesha.

Maareeyayaasha proxy-ga waxa lagu kaydiyaa kayd ahaan URL-ka proxy-ga. Ha u qaadan jillaabkan inuu yahay dib-u-wicid aan kaydnayn codsi ganacsi kasta oo loogu talagalay qiime ay tahay in uu is beddelo wicid kasta. Dooro lahaanshaha gaadiidka sidaas oo kale marka calaamadda akoonku ay kala duwan tahay.

Gudbinta HTTP ee caadiga ah, goobaha proxy-gu waxa ay weli u baahan yihiin siyaasadda isticmaalka ee dhexdhexaadiyuhu ugu talagalay. In cinwaanku uu proxy-ga ku gaar yahay API-ga macmiilka ma aha dammaanad qarsoodi ah haddii proxy-gu uu sii gudbiyo.

Maqaallo la xiriira