Как заставить urllib использовать мой собственный сетевой код для реальных операций http GET/PUT/...?Python

Программы на Python
Ответить
Anonymous
 Как заставить urllib использовать мой собственный сетевой код для реальных операций http GET/PUT/...?

Сообщение Anonymous »

Мне нужно настроить urllib в Anaconda Python 3.6, чтобы использовать мой собственный код Python для выполнения реальных операций GET, PUT,.... Решением будет собственный код Python и оболочка Curl Cli для выполнения реальной операции.
Я работаю в очень ограничительной среде, где я не могу установить какое-либо программное обеспечение на свою рабочую станцию. Это ограничивает меня Anaconda Python 3.6 без возможности установки модулей pip. В этой среде я и мои коллеги используем набор программ Python для сбора информации из внутренних API через внутренний прокси. Этот прокси-сервер скоро будет переключен с базовой аутентификации на аутентификацию NTLM, которая не поддерживается Anaconda Python 3.6.
В поисках решения мы заметили, что появившийся «завиток» с git-bash на нашей рабочей станции поддерживает аутентификацию NTLM и может получить доступ к нашим API. Я сделал небольшой модуль POC Python, чтобы обернуть инструмент Curl Cli для HTTP-запросов, и он работал нормально. Сейчас я ищу способ использовать инструмент Curl без необходимости полностью переписывать весь существующий код. Я уже экспериментировал с производными классами от urllib.request.BaseHandler и urllib.request.HTTPBaseHandler, но, видимо, они не предназначены для замены фактического сетевого кода.
Итак, что бы это дало Каков ваш подход к тому, чтобы urllib использовала команду Curl Cli для выполнения реальных запросов? Я знаю, что перенос завитка ужасен, и я открыт для альтернативных решений, если они не требуют установки дополнительного программного обеспечения.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -put-opera
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»