Как обойти 'SLError: HTTPSConnectionPool' за корпоративным брандмауэром в Python - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь получить доступ к FINRA ATS API с помощью Python (3.7.1) и пакета Requests за корпоративным брандмауэром, но продолжаю получать ошибку 'SSLError: HTTPSConnectionPool', указанную ниже.Я также пробовал Решения № 1 и 'os.environ["PYTHONHTTPSVERIFY"] = "0" безрезультатно, но мне удалось выполнить сценарий CURL и успешно извлечь данные из API после добавления -k --insecure входных данных.Кто-нибудь знает способ полностью игнорировать / отключить проверку сертификата SSL или другого обходного пути?

Код

import requests

headers = {'Content-Type': 'application/json','Accept': 'application/json',}

data = '{ "compareFilters": [ { "compareType": "EQUAL", "fieldName": "lastUpdateDate","fieldValue": "2019-01-22" },{ \"compareType\": \"EQUAL\", \"fieldName\": \"tierDescription\",\"fieldValue\": \"NMS Tier 1\" }] ,"limit":99999999 }'

response = requests.post('https://api.finra.org/data/group/otcMarket/name/weeklySummary', headers=headers, data=data)

data = response.json()

SSLError

SSLError: HTTPSConnectionPool(host='api.finra.org', port=443): Max retries exceeded with url: /data/group/otcMarket/name/weeklySummary (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl_choose_client_version', 'inappropriate fallback')])")))

Решение № 1 (Попыткаи не удалось)

Как отключить проверку сертификата безопасности в запросах Python

...