socks5.py 995 B

123456789101112131415161718192021222324252627282930313233343536
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on 2024-02-27
  4. ---------
  5. @summary: socks5 proxy代理
  6. ---------
  7. @author: Dzr
  8. """
  9. import requests
  10. import setting
  11. from utils.log import logger
  12. def get_proxy(scheme=None, default=None, socks5h=False):
  13. headers = {'Authorization': setting.JY_AUTH_TOKEN}
  14. try:
  15. resp = requests.get(setting.PROXY_API, headers=headers, timeout=5).json()
  16. proxies = resp.get("data")
  17. if resp and proxies:
  18. if socks5h:
  19. proxy_items = proxies.get("http")
  20. # 请求代理 vps dns域名解析
  21. proxies = dict(
  22. http=proxy_items.replace("socks5", "socks5h"),
  23. https=proxy_items.replace("socks5", "socks5h")
  24. )
  25. logger.debug(f"切换代理:{proxies}")
  26. return proxies if not scheme else proxies.get(scheme, default)
  27. else:
  28. logger.info("暂无代理...")
  29. except Exception:
  30. pass
  31. return default