የፕሮክሲ ራስጌዎችን በRequests HTTPAdapter.proxy_headers ማዘጋጀት
HTTPAdapter.proxy_headersን በፕሮክሲ ለሚወሰን መስክ ማስፋፋት፣ የRequests ነባር የፕሮክሲ ማረጋገጫ ራስጌ ማመንጨትን ማቆየት።
በፕሮክሲ ኦፕሬተር ለሚወሰን ራስጌ፣ Requests HTTPAdapter.proxy_headersን እንደ መሻሪያ ነጥብ ያቀርባል፦
from urllib.parse import urlsplit
import requests
from requests.adapters import HTTPAdapter
class TaggedProxy(HTTPAdapter):
def proxy_headers(self, proxy):
headers = super().proxy_headers(proxy)
endpoint = urlsplit(proxy)
if (endpoint.scheme == 'http'
and endpoint.hostname == 'proxy.example'
and endpoint.port == 8080):
headers['X-Proxy-Account'] = 'department-a'
return headers
with requests.Session() as session:
adapter = TaggedProxy()
session.mount('http://', adapter)
session.mount('https://', adapter)
response = session.get(
'https://service.example/data',
proxies={'https': 'http://proxy.example:8080'},
timeout=15,
)
X-Proxy-Account ይህ የተወሰነ ፕሮክሲ ለሚረዳው መስክ ምሳሌ ነው፣ ለሁሉም መካከለኛ የማረጋገጫ መንገድ አይደለም።
ከsuper().proxy_headers(proxy) ይጀምሩ። URL የBasic መለያ ሲሰጥ Requests ያንን ዘዴ Proxy-Authorization ለማመንጨት ይጠቀማል። ውጤቱን በሙሉ መተካት ያንን ባህሪ ሊያጠፋ ይችላል።
አስማሚው እነዚህን እሴቶች ወደ urllib3 ProxyManager ያስተላልፋል። ለHTTPS ዋሻ CONNECTን አብረው ይሄዳሉ። የተለመደው የጥያቄ ራስጌ ካርታ በኋላ የሚደረገውን የመድረሻ ጥያቄ ይገልጻል።
የፕሮክሲ አስተዳዳሪዎች በፕሮክሲ URL ይቀመጣሉ። ይህን መንጠቆ በእያንዳንዱ ጥሪ መቀየር ላለበት እሴት ያልተቀመጠ የየንግድ ጥያቄ መልሶ ጥሪ አድርገው አይመልከቱት። የመለያ ምልክት ሲቀያየር የትራንስፖርት ባለቤትነትን በዚሁ መሰረት ይምረጡ።
ለተራ HTTP ማስተላለፍ፣ የፕሮክሲ መስኮች አሁንም የመካከለኛውን የፍጆታ ፖሊሲ ይፈልጋሉ። ራስጌው በደንበኛው API ውስጥ ፕሮክሲ-ተኮር መሆኑ ፕሮክሲው ወደፊት ካስተላለፈው የምስጢርነት ዋስትና አይደለም።