dont_proxy 不会清除 Scrapy 的 proxy 字段
让自定义绕过标志与 Scrapy 内置中间件所读取的代理元数据保持一致。
一个请求可以退出自定义代理中间件,却仍然在元数据里带着有效的代理 URL。Scrapy 的 内置 HttpProxyMiddleware 读取 meta["proxy"];它不会解释通用的 dont_proxy 标志。
对于打算直连的请求,应显式设置:
request.meta["proxy"] = None
显式的 None 会阻止内置中间件为该请求从其环境设置中选择代理。仅删除该键则会重新允许这种自动选择。
如果另一个已安装的中间件使用 dont_proxy,也应为它文档所述的用途保留该标志。安排中间件顺序,使后续组件不会再次分配代理 URL。在最后一个可能选择路由的组件之后检查元数据。
在设置自定义绕过标志后仍出现 407,与仍存在代理路由相符,但仅凭状态码无法确定是哪个中间件选择了它。应沿该请求的处理过程追踪实际生效的 proxy 字段,而不要假定所有组件共用同一套退出词汇。