在创建 Site 之前配置 mwclient 的代理
通过 mwclient 的公共 connection_options 参数传入 Requests 的代理选项,包括 Site 对象的初始 API 请求。
mwclient 的 Site 构造函数接受 connection_options,用于其底层的 Requests 调用。创建 Site 时把代理放在这里:
import mwclient
site = mwclient.Site(
'wiki.example',
path='/w/',
connection_options={
'proxies': {
'https': 'http://proxy.example:8080',
},
'timeout': (5, 20),
},
)
host 参数标识 wiki,不带 URL 方案。path 是其脚本路径;请针对该安装进行调整。HTTPS 映射让 wiki 连接经过示例 HTTP 代理。对于位于允许未认证公共中间人的路由上、可公开访问的 wiki,请从 HTTP 代理列表中为该代理 URL 选择一个候选。
默认情况下,Site 会执行初始化请求。在构造函数中提供这些选项,意味着这些早期 API 调用也会获得该路由,然后再由应用开始查询或编辑页面。
映射使用 Requests 的选项名 proxies。同一个 connection_options 接口还可以传入其他受支持的请求选项,例如这里显示的连接与读取超时元组。
对于经过特殊配置的连接池,Site 还通过其 pool 参数接受自定义 Requests 会话。普通代理场景无需修改 mwclient 内部的 http 实现。