ഒരു എൻഡ്പോയിന്റ് ക്ലയന്റിന്റെ അഭ്യർഥനകൾ കൈകാര്യം ചെയ്യണമെങ്കിൽ proxy= ഉപയോഗിക്കുക. ലക്ഷ്യസ്ഥാന സ്കീമുകൾക്ക് വ്യത്യസ്ത വഴികൾ വേണമെങ്കിൽ mounts= ഉപയോഗിക്കുക. ഉദാഹരണങ്ങൾ ഈ HTTPX ഇന്റർഫേസുകൾ ഉപയോഗിക്കുന്നു; പഴയ proxies= API ഉള്ള പ്രോജക്ടിന് ആ പതിപ്പിന് യോജിച്ച ക്രമീകരണം വേണം.

ഒരു എൻഡ്പോയിന്റ്

import httpx

timeout = httpx.Timeout(15.0, connect=5.0)

with httpx.Client(
    proxy="http://127.0.0.1:8080",
    trust_env=False,
    timeout=timeout,
) as client:
    response = client.get("https://example.com/")
    response.raise_for_status()
    print(response.status_code)

പ്രാദേശിക ലിസണറിനെ പ്രവർത്തിക്കുന്ന HTTP പ്രോക്സിയാൽ മാറ്റുക. HTTP പ്രോക്സി പട്ടികയിലെ തിരഞ്ഞെടുപ്പും നിങ്ങളുടെ ലക്ഷ്യസ്ഥാനവുമായി പരീക്ഷിക്കണം. HTTPS ലക്ഷ്യത്തിന് CONNECT വഴി ഈ http:// എൻഡ്പോയിന്റ് ഉപയോഗിക്കാം. സ്കീം https:// ആക്കുന്നത് പ്രോക്സിയിലേക്കുതന്നെ TLS ആവശ്യപ്പെടുന്നു; ലിസണറും ക്ലയന്റും പിന്തുണയ്ക്കണം.

ലക്ഷ്യസ്ഥാന സ്കീമനുസരിച്ച് വേർതിരിച്ച വഴികൾ

import httpx

mounts = {
    "http://": httpx.HTTPTransport(
        proxy="http://127.0.0.1:8080",
        trust_env=False,
    ),
    "https://": httpx.HTTPTransport(
        proxy="http://127.0.0.1:8081",
        trust_env=False,
    ),
}

with httpx.Client(
    mounts=mounts,
    trust_env=False,
    timeout=httpx.Timeout(15.0, connect=5.0),
) as client:
    response = client.get("https://example.com/")
    response.raise_for_status()
    print(response.status_code)

Mount കീകൾ ലക്ഷ്യ URL-കളുമായി പൊരുത്തപ്പെടുന്നു. ഇവിടെ HTTP ലക്ഷ്യങ്ങൾ പോർട്ട് 8080-ഉം HTTPS ലക്ഷ്യങ്ങൾ 8081-ഉം തിരഞ്ഞെടുക്കുന്നു. പ്രോക്സി മൂല്യം ലിസണറിന്റെ സ്വന്തം പ്രോട്ടോക്കോൾ വിവരിക്കുന്നു; അതിനാൽ HTTPS mount-ൽ http:// പ്രോക്സി ഉള്ളത് ശരിയാണ്. നിങ്ങളുടെ എൻഡ്പോയിന്റുകൾ നൽകി രണ്ട് ലക്ഷ്യസ്ഥാന സ്കീമുകളും പരിശോധിക്കുക.

രണ്ട് രീതികളും ക്ലയന്റിലും നൽകിയ transport-കളിലും trust_env=False ക്രമീകരിക്കുന്നു. അല്ലെങ്കിൽ HTTPX പ്രോക്സി, സർട്ടിഫിക്കറ്റ് പരിസ്ഥിതി വേരിയബിളുകൾ സ്വതേ വായിക്കും. വിന്യാസം അവയെ ആശ്രയിക്കുന്നുവെങ്കിൽ കണ്ടെത്തൽ ഓൺ വയ്ക്കുക അല്ലെങ്കിൽ ആവശ്യമായ വഴികളും വിശ്വാസവും വ്യക്തമായി ക്രമീകരിക്കുക. സ്വകാര്യ വിശ്വാസത്തിന് നിങ്ങളുടെ HTTPX പതിപ്പ് പിന്തുണയ്ക്കുന്ന TLS context, CA ക്രമീകരണം ഉപയോഗിക്കുക; ലക്ഷ്യസ്ഥാന പരിശോധന ഓൺ വയ്ക്കുക. HTTPS പ്രോക്സിയുടെ വിശ്വാസം ലക്ഷ്യസ്ഥാന വിശ്വാസത്തിൽനിന്ന് വേർതിരിക്കാം.

httpx.Timeout(15.0, connect=5.0) കണക്ഷൻ ടൈംഔട്ട് മാറ്റി മറ്റു ക്രമീകരിച്ച ഘടകങ്ങൾക്ക് ഡിഫോൾട്ട് മൂല്യം നൽകുന്നു. വായന, എഴുത്ത്, pool കാത്തിരിപ്പ് എന്നിവയ്ക്ക് പ്രത്യേകം പരിധികളുണ്ട്; പതിനഞ്ച് സെക്കൻഡ് ആകെ കഴിഞ്ഞ സമയത്തിന്റെ അന്തിമപരിധിയല്ല. Pool timeout മറ്റൊരു ജോലി ലഭ്യമായ കണക്ഷനുകൾ കൈവശം വയ്ക്കുന്നതാകാം. പ്രോക്സി ലഭ്യമല്ലെന്ന തെളിവായി കാണുന്നതിന് മുമ്പ് ക്ലയന്റുകളും streaming പ്രതികരണങ്ങളും ശരിയായി അടയ്ക്കുക.

അനുബന്ധ ലേഖനങ്ങൾ