Обход прокси-сервера, если он недоступен, используя python запросы. Сессия () - PullRequest
0 голосов
/ 06 февраля 2020

Я создаю программное обеспечение, которое обращается к целому URL rnet. Это программное обеспечение будет использоваться на 2 компьютерах, один из которых находится за прокси-сервером.

Чтобы получить доступ к URL через прокси, я написал следующий код:

proxies = {'https': 'https://my.proxy.server:1111'}
s = requests.Session()
s.proxies.update(proxies)
loginResponse = s.post(loginUrl, data=login_data, headers= headers)

Этот код хорошо работает на компьютере, который находится за прокси, но на другом компьютере (который может получить доступ к inte rnet без прокси) Я получаю сообщение об ошибке: Can't connect to proxy. Это понятно.

Мой вопрос: как я могу изменить этот код, чтобы он мог работать на обоих компьютерах? Я хочу реализовать что-то вроде этого:

proxy_server = XXXX
s = requests.Session()
s.proxies.update(proxy_server)

    if proxy_server not available : 
      s = requests.Session()

loginResponse = s.post(loginUrl, data=login_data, headers= headers)

1 Ответ

1 голос
/ 07 февраля 2020

Вы можете попытаться отловить ошибку прокси-сервера следующим образом:

proxy_server = XXXX
s = requests.Session()
s.proxies.update(proxy_server)

try:
    loginResponse = s.post(loginUrl, data=login_data, headers= headers)
except requests.exceptions.ProxyError as err:
    s = requests.Session()
    ...
...