Я использую Luminati Proxy Manager и получаю ошибку SSLCertificationError, когда пытаюсь использовать прокси с запросами . Я могу использовать прокси с Selenium просто отлично, поэтому, похоже, что-то связано с тем, как я пытаюсь использовать прокси с запросами ?
Обратите внимание, что я сделалпопробуйте решение по умолчанию для пользователей Mac, установив certifi
Пример кода, который я использую:
import random
import requests
proxies = {
'http': 'http://127.0.0.1:24000',
'https': 'http://127.0.0.1:24000'
}
headers = [{'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko'},
{'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0'},
{'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:62.0) Gecko/20100101 Firefox/62.0'},
]
url = 'https://lumtest.com/myip.json'
header = random.choice(headers)
try:
req = requests.get(url, proxies=proxies, headers=header)
html = req.text
print(html)
except Exception as e:
print('failed: ', url)
print(e)
Это приводит к ошибке:
HTTPSConnectionPool (host = 'lumtest.com', port = 443): превышено максимальное количество повторов с помощью url: /myip.json (вызвано SSLError (SSLCertVerificationError (1, ') сертификат [SSL: CERTIFICATE_VERIFY_FAILED] не прошел проверку: не удалось получить локальныйсертификат эмитента (_ssl.c: 1056) ')))
Если я передаю verify=False
, все это работает. Но я очень сомневаюсь, что это правильно / умно делать;)