import ssl
import urllib3

proxy_tls = ssl.create_default_context(cafile='proxy-roots.pem')
proxy_tls.load_cert_chain('proxy-client.pem', 'proxy-client.key')
origin_tls = ssl.create_default_context()

with urllib3.ProxyManager(
    'https://proxy.example:8443',
    proxy_ssl_context=proxy_tls,
    ssl_context=origin_tls,
    timeout=urllib3.Timeout(connect=5, read=15),
) as http:
    response = http.request('GET', 'https://service.example/data')

اصلي تصویب شوي فایلونه وکاروئ. proxy-roots.pem منځګړی تصدیق کوي؛ proxy-client.pem او د هغې سره سم شخصي کیلي دا کلینټ هغه منځګړي ته پېژني. origin_tls د منزل جلا باور پالیسي ساتي.

د پروکسي URL https سکیم د هغه لومړي TLS تبادلې لپاره اړین دی. د HTTPS هدف لپاره، urllib3 بیا CONNECT د باندنۍ TLS ناستې دننه لېږي او د تونل له لارې د وېبپاڼې TLS ترسره کوي.

که وېبپاڼه هم کلینټ سند وغواړي، هغه په origin_tls کې کېږدئ. هلته د پروکسي هویت بیا کارول به بل اړیکه تصدیق کړي.

عادي HTTP پروکسي چې HTTPS لېږدوي باندنۍ TLS لاس ورکول نلري. اضافي HTTP 407 هم جلا دی: د کلینټ سند وړاندې کول د کارن نوم/پټنوم اعتبارونه نه برابروي.

اړوندې مقالې