አንድ መጨረሻ ነጥብ የደንበኛውን ጥያቄዎች ማስተናገድ ሲኖርበት 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 ዒላማ ይህን http:// መጨረሻ ነጥብ በCONNECT ሊጠቀም ይችላል። ስኪሙን ወደ 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 ምላሾችን በትክክል ይዝጉ።

ተዛማጅ ጽሑፎች