SOCKS5 proxy beállítása az Azure Blob Python-ügyfeléhez
A megadott Requests-munkamenetet magát állítsa be, majd tartsa annak élettartamát a szinkron Blob-ügyfélen kívül a session_owner=False értékkel.
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:
passHajtsa végre a tervezett Blob-műveletet a pass helyett, az alkalmazás account_url és credential értékét használva. A Requests opcionális SOCKS-függőségeinek már jelen kell lenniük. A socks5h a cél DNS-t a proxyra bízza. Egy nyilvánosan elérhető Blob-végpont esetén, ahol nyilvános közvetítők engedélyezettek, a SOCKS5 proxy lista jelölteket kínál a munkamenet proxy URL-jéhez.
Állítsa be a trust_env értéket ezen a munkameneten a Requests környezeti integrációjának vezérléséhez. A RequestsTransport a környezet inicializálását munkamenet létrehozásakor alkalmazza, nem akkor, amikor meglévőt kap. A kifejezett false érték megakadályozza, hogy a proxy környezeti bemenetei lecseréljék ezt az útvonalat.
Ez a választás a környezetalapú CA-kiválasztást is letiltja. Szükség esetén adja át a connection_verify="/path/to/ca-bundle.pem" értéket a RequestsTransportnak, a tényleges szolgáltatáshoz szükséges gyökerekkel.
A Blob-ügyfél a külső munkamenet-kontextus előtt bezárul. A session_owner=False a külső blokknál hagyja a tulajdonjogot. Egy külön létrehozott token hitelesítő adat másik HTTP-transzporttal rendelkezhet; állítsa be azt is, ha a beszerzése SOCKS-t igényel.