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

Atlikite numatytą Blob operaciją vietoje pass, naudodami programos account_url ir credential. Requests pasirenkamos SOCKS priklausomybės jau turi būti įdiegtos. socks5h perduoda paskirties DNS tarpiniam serveriui. Viešai pasiekiamam Blob galiniam taškui, kuriame leidžiami vieši tarpininkai, SOCKS5 tarpinių serverių sąrašas siūlo kandidatus sesijos tarpinio serverio URL.

Nustatykite trust_env šioje sesijoje, kad valdytumėte Requests integraciją su aplinka. RequestsTransport taiko aplinkos inicijavimą kurdamas sesiją, o ne tada, kai jam pateikiama esama. Aiški reikšmė false neleidžia tarpinio serverio aplinkos įvestims pakeisti šio maršruto.

Šis pasirinkimas taip pat išjungia CA pasirinkimą pagal aplinką. Jei reikia, pateikite connection_verify="/path/to/ca-bundle.pem" RequestsTransport su tikrajai paslaugai reikalingomis šaknimis.

Blob klientas uždaromas prieš išorinį sesijos kontekstą. session_owner=False palieka nuosavybę tam išoriniam blokui. Atskirai sukurti tokeno kredencialai gali turėti kitą HTTP transportą; sukonfigūruokite ir juos, jei jų gavimui reikia SOCKS.

Susiję straipsniai