Skip to content

代理构建器

🔀 SDK 配置代理与轮换。

选项

选项说明
WithProxy(proxy)单代理
WithProxyList(strategy, proxies...)代理列表
WithProxyFile(path, strategy)代理文件(热加载)
WithProxyURL(url, strategy)动态代理 API
WithProxyStrategy(strategy)轮换策略

策略类型 runner.ProxyStrategyround-robin/random/sequential

sequential = 自动故障转移

代理不稳定时选 ProxyStrategySequential——当前代理失败自动切下一个,配合 WithMaxRetries 重试最大化成功率。round-robin/random 则不论成败轮换。

示例

go
// 单代理
opts := sdk.NewScreenshotOptions(
    sdk.WithProxy("http://127.0.0.1:8080"),
)

// 列表轮换
opts := sdk.NewScreenshotOptions(
    sdk.WithProxyList(runner.ProxyStrategyRoundRobin,
        "http://p1:8080", "http://p2:8080", "http://p3:8080",
    ),
)

// 文件
opts := sdk.NewScreenshotOptions(
    sdk.WithProxyFile("proxies.txt", runner.ProxyStrategyRandom),
)

// 动态 API
opts := sdk.NewScreenshotOptions(
    sdk.WithProxyURL("http://proxy-service/api", runner.ProxyStrategyRandom),
)

选择建议

场景
单出口WithProxy
少量固定WithProxyList
大量、需更新WithProxyFile
商业动态池WithProxyURL

四种代理来源与轮换策略如何配合:

sequential 策略状态机

sequential 策略的核心是"当前代理失败自动切下一个",状态流转如下:

round-robin/random 不走"失败切换"分支——不论成败按策略轮换,每次请求都换代理。

下一步

基于 MIT 许可发布