proxy.py 917 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on 2024-02-27
  4. ---------
  5. @summary: 代理
  6. ---------
  7. @author: dzr
  8. """
  9. import requests
  10. import setting
  11. from log import logger
  12. __all__ = ['get_proxy']
  13. def get_proxy(scheme=None, default=None, socks5h=False):
  14. url = setting.JY_PROXY_HOST
  15. headers = setting.JY_PROXY_AUTH
  16. try:
  17. proxy = requests.get(url, headers=headers, timeout=15).json()
  18. except requests.RequestException:
  19. return default
  20. if not proxy:
  21. logger.debug('暂无代理...')
  22. return default
  23. proxies = proxy.get('data')
  24. if proxies:
  25. if socks5h:
  26. proxy_items = proxies.get('http')
  27. proxy_h = {
  28. 'http': proxy_items.replace('socks5', 'socks5h'),
  29. 'https': proxy_items.replace('socks5', 'socks5h')
  30. }
  31. proxies = proxy_h
  32. return proxies if not scheme else proxies.get(scheme, default)