Как отключить проверку сертификата в модуле requests?
Как на уровне самого модуля requests, в его файлах отключить проверку сертификатов?
Чтобы когда какое либо приложение использующее данный модуль отправляла get запрос не проверялся сертификат...
В каком файле этого модуля можно этого сделать?
Ответы (3 шт):
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 я бы стал при необходимости переопределения всех запросов, но тоже реально
нужно отключить эту проверку на уровне самого модуля, а не в своем приложении, чтобы не приходилось постоянно указывать в коде 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... хотя затея - так себе...