Kui Requests on projektis saadaval, anna kutsele puhverserverite vastendus:

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)

Asenda loopback-lõpp-punkt oma töötava puhverserveri või HTTP-puhverserverite loendist valitud kandidaadiga, mida selle päringuga testid. Võtmed kirjeldavad sihtkoha skeeme: http HTTP-URL-ide ja https HTTPS-URL-ide jaoks. Väärtused kirjeldavad puhverserveri kuulajat. Need võivad olla eri lõpp-punktid, kui võrk nõuab eraldi marsruute.

Puhverserveri väärtus http:// võtme https all on tahtlik. Requests küsib HTTP-kuulajalt CONNECT-tunnelit ja loob seejärel selle kaudu sihtkohaga TLS-i, järgides puhverserveri sihtkoha- ja pordireegleid. Väärtuse muutmine kujule https:// küsib TLS-i puhverserveri endaga; see võib nurjuda, kui kuulaja ootab krüptimata HTTP-d.

Mida kaks ajalõpu arvu tähendavad

timeout=(5, 15) määrab ühenduse ja lugemise ajalõpud. See ei kehtesta viieteistkümnesekundilist kogutähtaega. Perioodiliselt saabuvad andmed, mitu aadressi ja ühenduskatsed võivad kulunud aega pikendada. Requests ei anna üldist ajalõppu, kui seadistus puudub. Vali vastusele sobivad piirid ja lisa rakendustaseme tähtaeg, kui töö vajab ranget koguaega.

Käsitle tõrget etapis, kus see tekib

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)

Tagasilükatud CONNECT võib tekitada ProxyError enne sihtkoha vastuse olemasolu. Haru HTTPError järgneb saadud veastaatusega vastusele; Timeout tähendab seadistatud piiri ületamist. Uuri ühenduse loomise erindiahelaid kohalikult ning eemalda enne jagamist identimisteabega lõpp-punktid ja privaatsed URL-id.

Hoia sertifikaadikontroll sisse lülitatud. Kui volitatud võrk kasutab privaatset CA-d või hallatud pealtkuulamist, anna oodatud usaldusmaterjal kontrolli väljalülitamise asemel.

Selgesõnalised päringupõhised kirjed juhivad siin antud marsruute, kuid välja jäetud skeeme võib endiselt mõjutada keskkonnast puhverserverite leidmine. Viies kutse korduskasutatavasse Sessionisse, otsusta, kuidas keskkonnamuutujad, Sessioni vaikeväärtused ja päringupõhised ülekirjutused koos toimivad; ühenduse korduskasutus ja marsruutimisreeglid on eri valikud.

Seotud artiklid