import requests
from azure.core.pipeline.transport import RequestsTransport
from azure.storage.blob import BlobServiceClient

with requests.Session() as session:
    session.trust_env = False
    session.proxies["https"] = "socks5h://proxy.example:1080"
    transport = RequestsTransport(session=session, session_owner=False)
    with BlobServiceClient(
        account_url=account_url,
        credential=credential,
        transport=transport,
    ) as client:
        pass

Tehke kavandatud Blobi toiming pass asemel, kasutades rakenduse account_url ja credential. Requestsi valikulised SOCKS-sõltuvused peavad juba olemas olema. socks5h delegeerib sihtkoha DNS-i puhverserverile. Avalikult ligipääsetava Blobi lõpp-punkti jaoks, kus avalikud vahendajad on lubatud, pakub SOCKS5 puhverserverite loend kandidaate sessiooni puhverserveri URL-ile.

Määrake sellel sessioonil trust_env, et juhtida Requestsi keskkonnaintegratsiooni. RequestsTransport rakendab keskkonna initsialiseerimist sessiooni loomisel, mitte olemasoleva sessiooni andmisel. Selgesõnaline väärtus false takistab puhverserveri keskkonna sisenditel selle marsruudi asendamist.

See valik keelab ka keskkonnapõhise CA-valiku. Vajadusel edastage RequestsTransportile connection_verify="/path/to/ca-bundle.pem" koos tegeliku teenuse jaoks vajalike juurtega.

Blobi klient suletakse enne välimist sessioonikonteksti. session_owner=False jätab omandiõiguse sellele välimisele plokile. Eraldi loodud märgil põhinev volitus võib kasutada teist HTTP-transporti; seadistage ka see, kui selle hankimine nõuab SOCKS-i.

Seotud artiklid