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

Tekeleza operesheni iliyokusudiwa ya Blob badala ya pass, ukitumia account_url na credential za programu. Vitegemezi vya hiari vya SOCKS vya Requests lazima viwe tayari. socks5h hukabidhi DNS ya lengwa kwa proksi. Kwa kiungo cha mwisho cha Blob kinachofikiwa na umma ambapo wapatanishi wa umma wanaruhusiwa, orodha ya proksi za SOCKS5 hutoa wagombea kwa URL ya proksi ya kikao.

Weka trust_env kwenye kikao hiki ili kudhibiti uunganishaji wa Requests na mazingira. RequestsTransport hutumia uanzishaji wa mazingira inapounda kikao, si inapopewa kikao kilichopo. Thamani bayana ya false huzuia ingizo za mazingira ya proksi kuchukua nafasi ya njia hii.

Uchaguzi huo pia huzima uchaguzi wa CA unaotegemea mazingira. Ikihitajika, toa connection_verify="/path/to/ca-bundle.pem" kwa RequestsTransport, pamoja na mizizi inayohitajika kwa huduma halisi.

Mteja wa Blob hufungwa kabla ya muktadha wa nje wa kikao. session_owner=False huacha umiliki kwa bloku hiyo ya nje. Kitambulisho cha token kilichoundwa kando kinaweza kuwa na usafirishaji mwingine wa HTTP; kisanishi pia ikiwa upataji wake unahitaji SOCKS.

Makala zinazohusiana