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 实现。

相关文章