Guest User

Untitled

a guest
Oct 18th, 2025
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.49 KB | None | 0 0
  1. import ssl
  2. import requests
  3. from urllib3.poolmanager import PoolManager
  4. from requests.adapters import HTTPAdapter
  5.  
  6. class SSLAdapter(HTTPAdapter):
  7.     """Adapter that uses a custom SSL context with session tickets enabled."""
  8.     def __init__(self, *args, **kwargs):
  9.         self.ssl_context = self.make_ssl_context()
  10.         super().__init__(*args, **kwargs)
  11.  
  12.     @staticmethod
  13.     def make_ssl_context():
  14.         ctx = ssl.create_default_context()
  15.         # Enable session tickets (extension 35) for Cloudflare
  16.         if hasattr(ssl, "OP_NO_TICKET"):
  17.             ctx.options &= ~ssl.OP_NO_TICKET
  18.         return ctx
  19.  
  20.     def init_poolmanager(self, *args, **kwargs):
  21.         kwargs['ssl_context'] = self.ssl_context
  22.         self.poolmanager = PoolManager(*args, **kwargs)
  23.  
  24.     def proxy_manager_for(self, *args, **kwargs):
  25.         kwargs['ssl_context'] = self.ssl_context
  26.         return super().proxy_manager_for(*args, **kwargs)
  27.  
  28.  
  29. # --- Apply globally ---
  30. def patch_requests():
  31.     """Globally patch requests to use our custom SSL context."""
  32.     print("inside patch_requests")
  33.     adapter = SSLAdapter()
  34.     session = requests.Session()
  35.     session.mount("https://", adapter)
  36.     session.mount("http://", adapter)
  37.  
  38.     # Monkey-patch the global API functions (get, post, etc.)
  39.     requests.Session = lambda: session
  40.     requests.request = session.request
  41.     requests.get = session.get
  42.     requests.post = session.post
  43.     requests.put = session.put
  44.     requests.delete = session.delete
  45.     requests.head = session.head
  46.     requests.options = session.options
  47.     requests.patch = session.patch
  48.  
  49.     return session
Add Comment
Please, Sign In to add comment