调用栈/函数链以下:python
情形一:下载器初始化时web
__init__ buildOpener#构建opener newProxy4Opener#装备代理 getNewProxy#获取代理 maintainProxyPool#维护代理池 replenishProxies#补充代理 getProxiesFromLib#经过web服务获取指定数量的新代理
情形二:下载时函数
safeDownload#失败时自动尝试 download#下载 chgProxy#检测是否须要更换代理 #知足随机条件,尝试装备新代理 newProxy4Opener getNewProxy maintainProxyPool replenishProxies getProxiesFromLib #目前代理失效,尝试装备新代理 dropAndChangeProxy newProxy4Opener getNewProxy maintainProxyPool replenishProxies getProxiesFromLib