在 import 发起网络请求之前设置 Python 的代理
借助 traceback 定位 Python 模块的初始化过程,然后在该 import 或进程启动之前提供环境。
如果 traceback 在模块初始化内部失败,第一次 API 调用可能已在 import 期间发生。等到应用后面再设置代理,对那次请求来说已经太迟。
对于会读取环境的客户端,请在启动时提供路由:
http_proxy='http://proxy.example:8080' https_proxy='http://proxy.example:8080' python app.py对于获准的公开下载,HTTP 代理列表可为这些启动时的 HTTP 代理值提供候选项。Python 一侧的环境设置同样必须早于会联网的 import。使用其他显式传输方式的客户端需要自身支持的输入。
成功 import 会缓存模块对象。修改变量后再次 import 通常会复用该对象及其已缓存的客户端,因此并不是可靠的初始化重置。要比较启动行为,请使用有文档记载的重新配置或全新进程。