创建文件requests_proxy_patch.py
from urllib.request import getproxies
def get_safe_proxy():
proxies = getproxies()
addresses = [v.removeprefix(k+'://') for k, v in proxies.items()]
is_aio = len(set(addresses)) != len(addresses)
# convert to only http if "All in One"
return proxies if is_aio else {'http': proxies['http']}
import requests
class PSession(requests.Session):
def request(self, *args, **kwargs):
kwargs.setdefault('proxies', get_safe_proxy())
super().request(*args, *kwargs)
def resolve_redirects(self, *args, **kwargs):
kwargs.setdefault('proxies', get_safe_proxy())
super().resolve_redirects(*args, *kwargs)
requests.Session = PSession
然后从这个文件中导入requests
即可
如何导入请参考其他介绍python import机制的博文
如果你实在不会导入又确实急着用,那你可以将这一段粘贴到脚本开头。(希望没人被逼到这一步,哈哈)
哦对了,非windows用不到这个,大概。