Requests proiektuan erabilgarri dagoenean, pasa proxyen mapaketa deiari:

import requests

proxies = {
    "http": "http://127.0.0.1:8080",
    "https": "http://127.0.0.1:8080",
}

response = requests.get(
    "https://example.com/",
    proxies=proxies,
    timeout=(5, 15),
)
response.raise_for_status()
print(response.status_code)

Ordeztu loopback amaierako puntua zure proxy aktiboarekin edo eskaera honekin probatuko duzun HTTP proxyen zerrendako hautagai batekin. Gakoek helmugaren eskemak deskribatzen dituzte: http HTTP URLetarako eta https HTTPS URLetarako. Balioek proxyaren entzulea deskribatzen dute. Amaierako puntu desberdinak izan daitezke sareak bide bereiziak behar baditu.

http:// proxy-balioa https gakoaren azpian egotea nahita egina da. Requests-ek HTTP entzuleari CONNECT tunela eskatzen dio eta ondoren haren bidez helmugarekiko TLS ezartzen du, proxyaren helmuga- eta ataka-politikaren barruan. Balioa https:// bihurtzeak proxyarekin berarekin TLS eskatzen du; huts egin dezake entzuleak zifratu gabeko HTTP espero badu.

Zer esan nahi dute denbora-mugako bi zenbakiek?

timeout=(5, 15) ezarpenak konexioaren eta irakurketaren denbora-mugak ezartzen ditu. Ez du guztira hamabost segundoko epemugarik ezartzen. Aldizka jasotako datuek, hainbat helbidek eta konexio-saioek igarotako denbora luzatu dezakete. Ezarpena kentzean Requests-ek ez du denbora-muga orokorrik ematen. Aukeratu erantzunerako muga egokiak eta gehitu aplikazio-mailako epemuga lana denbora-aurrekontu oso zorrotz bati lotuta badago.

Kudeatu hutsegitea gertatzen den fasean

try:
    response = requests.get(
        "https://example.com/",
        proxies=proxies,
        timeout=(5, 15),
    )
    response.raise_for_status()
except requests.exceptions.ProxyError as error:
    print("Proxy setup failed:", type(error).__name__)
except requests.exceptions.Timeout:
    print("A configured timeout expired")
except requests.exceptions.HTTPError as error:
    print("HTTP status:", error.response.status_code)

Baztertutako CONNECT batek ProxyError eragin dezake helmugaren erantzunik egon aurretik. HTTPError adarra errore-egoerako erantzuna jaso ondoren dator; Timeout ezarritako muga iraungi dela adierazten du. Aztertu konexio-ezarpeneko salbuespen-kateak lokalki eta kendu kredentzialak dituzten amaierako puntuak eta URL pribatuak partekatu aurretik.

Utzi ziurtagiri-egiaztapena gaituta. Sare baimenduak CA pribatu bat edo kudeatutako atzematea erabiltzen badu, eman espero den konfiantza-materiala egiaztapena desgaitu beharrean.

Eskaera bakoitzeko sarrera esplizituek hemen emandako bideak kontrolatzen dituzte, baina zehaztu gabeko eskemetan inguruneko proxy-aurkikuntzak eragin dezake oraindik. Deia Session berrerabilgarri batera eramatean, erabaki ingurune-aldagaiek, Session-en lehenespenek eta eskaerako gainidazketek nola elkar eragingo duten; konexioaren berrerabilera eta bideratze-politika aukera bereiziak dira.

Erlazionatutako artikuluak