Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Decorators for filtering InsecureRequestWarnings in requests and urllib3 apps

Project description

Decorators for filtering InsecureRequestWarnings in requests and other urllib3-based Python 3 modules

NOTE: tested only for Python3.

When developing applications/modules using the requests module (or using urllib3 directly), it is sometimes useful to disable certificate validation, or to permit consumers/users to do so. However, doing so makes each request issue an InsecureRequestWarning, which is a lot of noise.

filter-certwarning provides two decorators to make this behavior more reasonable.

  • @filter_certwarning.warnonce causes the warning to be issued only warnonce, the first time the decorated function is called
  • @filter_certwarning.silent is an alias for @filter_certwarning('ignore'), and causes the warning to be entirely suppressed for that function call
Examples:

A requests-based app with verification off that issues the warning only warnonce:

import requests
import filter_certwarning

...

@filter_certwarning.warnonce
sub get_data():
    # the next line will fire an InsecureRequestWarning the first time this
    # function is called, but subsequent calls to this function will be silent
    resp = requests.get('https://localhost/status', verify=False)

The following supresses the warning entirely. This is not recommended unless you’ve given a lot of thought to the security implications and trade-offs.:

import requests
import filter_certwarning

...

@filter_certwarning.silent
sub get_data():
    # the next line will fire an InsecureRequestWarning the first time this
    # function is called, but subsequent calls to this function will be silent
    resp = requests.get('https://localhost/status', verify=False)

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for filter-certwarning, version 1.0
Filename, size File type Python version Upload date Hashes
Filename, size filter-certwarning-1.0.tar.gz (2.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page