Tumia proxy= wakati sehemu moja ya mwisho inapaswa kushughulikia maombi ya mteja. Tumia mounts= wakati mipangilio ya anwani za lengwa inahitaji njia tofauti. Mifano hutumia violesura hivi vya HTTPX; mradi wenye API ya zamani proxies= unahitaji usanidi wa toleo hilo.

Sehemu moja ya mwisho

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)

Badilisha sehemu ya ndani ya kupokea miunganisho kwa proksi ya HTTP inayofanya kazi. Mgombea kutoka orodha ya proksi za HTTP bado anahitaji kupimwa na lengwa lako. Lengwa la HTTPS linaweza kutumia sehemu hii ya http:// kupitia CONNECT. Kubadilisha mpangilio kuwa https:// huomba TLS hadi proksi yenyewe; lazima sehemu ya kupokea na mteja ziunge mkono hilo.

Njia tofauti kwa mpangilio wa anwani ya lengwa

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)

Funguo za kuunganisha hulingana na URL za lengwa. Malengwa ya HTTP hapa huchagua porti 8080; HTTPS huchagua 8081. Thamani ya proksi inaeleza itifaki ya sehemu ya kupokea yenyewe, kwa hiyo muunganisho wa HTTPS unaweza kwa usahihi kuwa na proksi http://. Weka sehemu zako za mwisho na ukague mipangilio yote miwili ya lengwa.

Njia zote mbili huweka trust_env=False kwa mteja na transport zinapotolewa. Vinginevyo HTTPX husoma kwa chaguo-msingi vigeu vya mazingira vya proksi na vyeti. Mfumo wako ukivitegemea, acha ugunduzi ukiwa hai au usanidi njia na uaminifu unaohitajika waziwazi. Kwa uaminifu binafsi tumia muktadha wa TLS na usanidi wa CA unaoungwa mkono na toleo lako la HTTPX; acha uhakiki wa lengwa ukiwa hai. Uaminifu kwa proksi ya HTTPS unaweza kuwa tofauti na uaminifu kwa lengwa.

httpx.Timeout(15.0, connect=5.0) hubadilisha muda wa kuunganisha na kuvipa vipengele vingine vilivyosanidiwa thamani ya chaguo-msingi. Kusoma, kuandika na kusubiri pool vina mipaka tofauti; sekunde kumi na tano si muda wa mwisho wa jumla uliopita. Timeout ya pool inaweza kumaanisha kazi nyingine inashikilia miunganisho inayopatikana. Funga wateja na majibu yanayotiririka vizuri kabla ya kuichukulia kama ushahidi kwamba proksi haifikiwi.

Makala zinazohusiana