Requests долбооруңузда бар болсо, чакырууга прокси дал келтирүүсүн бериңиз:

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)

Loopback акыркы чекитин иштеген проксиңизге же ушул суроо менен сынай турган HTTP проксилердин тизмесиндеги талапкерге алмаштырыңыз. Ачкычтар максаттын схемаларын сүрөттөйт: HTTP URL үчүн http жана HTTPS URL үчүн https. Маанилер проксинин угуучусун сүрөттөйт. Тармак өзүнчө жолдорду талап кылса, ар башка акыркы чекиттер болушу мүмкүн.

http:// прокси маанисинин https ачкычынын алдында болушу атайын жасалган. Requests HTTP угуучусунан CONNECT туннелин сурап, андан максаттуу TLS байланышын түзөт, проксинин максат жана порт саясатына баш ийип. Маанини https:// кылуу проксинин өзүнө TLS сурайт; угуучу шифрленбеген HTTP күтсө, ишке ашпай калышы мүмкүн.

Эки убакыт чеги эмнени билдирет?

timeout=(5, 15) байланыш жана окуу убакыт чектерин коёт. Ал жалпы он беш секунддук акыркы мөөнөт эмес. Маал-маалы менен келген маалымат, бир нече дарек жана байланыш аракеттери өткөн убакытты узартышы мүмкүн. Бул жөндөө жок болсо Requests жалпы убакыт чегин бербейт. Жоопко ылайык чектерди тандаңыз жана ишке катуу жалпы убакыт керек болсо колдонмо деңгээлинде акыркы мөөнөт кошуңуз.

Ката болгон баскычта иштетиңиз

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)

Четке кагылган CONNECT максаттын жообу болордон мурун ProxyError чыгарышы мүмкүн. HTTPError бутагы ката абалындагы алынган жооптон кийин келет; Timeout белгиленген чектин бүткөнүн билдирет. Байланыш орнотуунун өзгөчө жагдай чынжырларын жергиликтүү карап, бөлүшүүдөн мурун кирүү маалыматтуу акыркы чекиттерди жана жеке URLдерди алып салыңыз.

Сертификат текшерүүсүн күйгүзүлгөн бойдон калтырыңыз. Ыйгарым укуктуу тармак жеке CA же башкарылган кармоону колдонсо, текшерүүнү өчүрбөй күтүлгөн ишеним материалын бериңиз.

Ар суроонун так жазуулары бул жердеги жолдорду башкарат, бирок берилбеген схемаларга чөйрөдөн прокси табуу дагы таасир этиши мүмкүн. Чакырууну кайра колдонулуучу Sessionга көчүргөндө, чөйрө өзгөрмөлөрү, Session демейки маанилери жана ар суроонун алмаштыруулары кандай аракеттенерин чечиңиз; байланышты кайра колдонуу жана багыт саясаты — өзүнчө тандоолор.

Тектеш макалалар