Fún àkọsílẹ̀ tí olùṣàkóso proxy pààlẹ̀, Requests fi HTTPAdapter.proxy_headers hàn gẹ́gẹ́ bí ibi àtúnṣe:

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 jẹ́ àpẹẹrẹ pápá tí proxy kan pàtó yìí gbọ́, kì í ṣe ọ̀nà ìbáṣepọ̀ àkọ́kọ́ fún gbogbo alárinà.

Bẹ̀rẹ̀ pẹ̀lú super().proxy_headers(proxy). Requests ń lo ọ̀nà yẹn láti dá Proxy-Authorization nígbà tí URL bá pèsè àkọọ́lẹ̀ Basic. Rírókèròke gbogbo àbájáde lè sọ ìhùwàsí yẹn nù.

Adápatà náà ń gbé àwọn iye wọ̀nyí lọ sínú ProxyManager ti urllib3. Nínú ihò HTTPS wọ́n ń bá CONNECT lọ. Ìtọ́kasí àkọsílẹ̀ ìbéèrè déédé ń ṣàlàyé ìbéèrè ìdí tó ń bọ̀.

Àwọn olùṣàkóso proxy ni a ń pamọ́ sí káṣì ní ìbámu pẹ̀lú URL proxy. Má ṣe kà ìkọ̀kọ̀ yìí sí ìpèpadà tí kò ní káṣì fún ìbéèrè òwò kọ̀ọ̀kan fún iye tí ó ní láti yí padà ní gbogbo ìpè. Yan ẹ̀tọ́ gbígbé ní ìbámu nígbà tí àmì àkọọ́lẹ̀ bá yí padà.

Nínú gbígbé HTTP lásán, àwọn pápá proxy ṣì nílò ìlànà lílò tí alárinà ní lọ́kàn. Kíkó àkọsílẹ̀ jẹ́ pàtó fún proxy nínú API alábàárà kì í ṣe ìdánilójú ìkọ̀kọ̀ bí proxy bá gbé e síwájú.

Àwọn àpilẹ̀kọ tó jọra