#!/usr/bin/env python # flake8: noqa: F841 """ A simple example using requests-cache with [httpbin](https://httpbin.org) """ import time from requests_cache import CachedSession def main(): session = CachedSession('example_cache', backend='sqlite') # The real request will only be made once; afterward, the cached response is used for i in range(5): response = session.get('https://httpbin.org/get') # This is more obvious when calling a slow endpoint for i in range(5): response = session.get('https://httpbin.org/delay/2') # Caching can be disabled if we want to get a fresh page and not cache it with session.cache_disabled(): print(session.get('https://httpbin.org/ip').text) # Get some debugging info about the cache print(session.cache) print('Cached URLS:') print('\n'.join(session.cache.urls())) if __name__ == '__main__': t = time.time() main() print('Elapsed: %.3f seconds' % (time.time() - t))