Azure Blob نىڭ Python خېرىدارى ئۈچۈن SOCKS5 ۋاكالەتچىسىنى سەپلەش
تەمىنلەنگەن Requests session نىڭ ئۆزىنى سەپلەپ، ئاندىن session_owner=False بىلەن ئۇنىڭ ئۆمرىنى synchronous Blob خېرىدارىنىڭ سىرتىدا ساقلاڭ.
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:
passpass نىڭ ئورنىغا كۆزلىگەن Blob مەشغۇلاتىنى ئېلىپ بېرىڭ، ئەپنىڭ account_url ۋە credential نى ئىشلىتىڭ. Requests نىڭ ئىختىيارىي SOCKS باغلىنىشلىرى ئاللىبۇرۇن بولۇشى كېرەك. socks5h نىشان DNS نى ۋاكالەتچىگە تاپشۇرىدۇ. ئاممىۋى ئارىلاشتۇرغۇچىلارغا رۇخسەت قىلىنغان ئاممىۋى Blob ئاخىرلاش نۇقتىسى ئۈچۈن، SOCKS5 ۋاكالەتچى تىزىملىكى session نىڭ ۋاكالەتچى URL ى ئۈچۈن نامزاتلارنى تەمىنلەيدۇ.
Requests نىڭ مۇھىت بىرلەشمىسىنى كونترول قىلىش ئۈچۈن بۇ session دا trust_env نى تەڭشەڭ. RequestsTransport مۇھىت دەسلەپلەشتۈرۈشنى session قۇرغاندا قوللىنىدۇ، مەۋجۇت session بېرىلگەندە ئەمەس. ئېنىق false قىممىتى ۋاكالەتچى مۇھىت كىرگۈزۈشلىرىنىڭ بۇ يولنى ئالماشتۇرۇشىنى توسىدۇ.
بۇ تاللاش مۇھىتقا ئاساسلانغان CA تاللاشنىمۇ ئېتىۋېتىدۇ. زۆرۈر بولسا، ھەقىقىي مۇلازىمەت ئۈچۈن كېرەكلىك يىلتىزلار بىلەن connection_verify="/path/to/ca-bundle.pem" نى RequestsTransport غا بېرىڭ.
Blob خېرىدارى سىرتقى session مەزمۇنىدىن بۇرۇن تاقىلىدۇ. session_owner=False ئىگىلىك ھوقۇقىنى شۇ سىرتقى بۆلەكتە قالدۇرىدۇ. ئايرىم قۇرۇلغان token گۇۋاھنامىسىنىڭ باشقا HTTP توشۇشى بولۇشى مۇمكىن؛ ئەگەر ئۇنى ئېلىش SOCKS نى تەلەپ قىلسا، ئۇنىمۇ سەپلەڭ.