Как отключить проверку сертификата в модуле requests?

Как на уровне самого модуля requests, в его файлах отключить проверку сертификатов?
Чтобы когда какое либо приложение использующее данный модуль отправляла get запрос не проверялся сертификат...
В каком файле этого модуля можно этого сделать?


Ответы (3 шт):

Автор решения: eri

Requests can also ignore verifying the SSL certificate if you set verify to False:

requests.get('https://kennethreitz.org', verify=False) <Response [200]>

Note that when verify is set to False, requests will accept any TLS certificate presented by the server, and will ignore hostname mismatches and/or expired certificates, which will make your application vulnerable to man-in-the-middle (MitM) attacks. Setting verify to False may be useful during local development or testing.

Укажи параметр verify=False чтоб пропустить проверкеу сертификата, но лучше положи сертификат вместе со своим приложением и в параметре verify укажи путь к нему.

Этот же параметр присутствует в Session объекте. Создай сессию без проверки и используй её вместо модуля.

session = requests.Session(verify=False)

session.get('https://httpbin.org/cookies/set/sessioncookie/123456789')
r = session.get('https://httpbin.org/cookies')
→ Ссылка
Автор решения: Дмитрий

Предлагаю свой вариант переопределения get запроса.

import requests.api

def custom_get(url, **kwargs):
    kwargs.setdefault("verify", False)
    return requests.api.request("get", url, **kwargs)

request.api.get = custom_get

Использовать Sessions я бы стал при необходимости переопределения всех запросов, но тоже реально

→ Ссылка
Автор решения: Jack_oS

нужно отключить эту проверку на уровне самого модуля, а не в своем приложении, чтобы не приходилось постоянно указывать в коде verify=False

В вашем виртуальном окружении по адресу (python3.6 может быть другим):

venv/lib/python3.6/site-packages/requests/sessions.py

можно найти def request():

def request(self, method, url,
            params=None, data=None, headers=None, cookies=None, files=None,
            auth=None, timeout=None, allow_redirects=True, proxies=None,
            hooks=None, stream=None, verify=None, cert=None, json=None):

измените verify=None на verify=False... хотя затея - так себе...

→ Ссылка