Репликация "--connect-to" из curl в Python - PullRequest
0 голосов
/ 19 сентября 2019

Из командной строки я могу успешно выполнить команду следующим образом:

curl --cacert <cacert> --cert <cert> --connect-to ::1.2.3.4: https://some-identity.com:443/endpoint

Я делаю это так, чтобы запрос заканчивался переходом на адрес 1.2.3.4 (с точки зрения маршрутизации), но все рукопожатие SSL происходит с использованием адреса some-identity.com.Я должен сделать это, потому что, к сожалению, используемые сертификаты SSL подписываются с использованием адреса some-identity.com, но частный IP-адрес сервера 1.2.3.4.

Я пытаюсь использовать либо aiohttp(предпочтительно) или requests, но я не могу найти соответствующие утилиты для этого.

В aiohttp я вижу, что могу передать SSLContext (в пакете ssl)объект, но, к сожалению, я не могу найти какое-либо свойство в объекте SSLContext, которое может быть установлено динамически.

Для библиотеки requests у меня, похоже, нет возможности переопределить / изменить хост, как я это делал, используя curl.

Есть ли другой путь?об этом через библиотеки Python?Последний вариант - просто использовать саму команду curl через Python, но это не является предпочтительным.

...