Qt Network 与 WebEngine 中的 SOCKS 认证
当 SOCKS 服务要求认证时,请把 Qt Network 的代理设置与基于 Chromium 的 WebEngine 行为分开处理。
Qt Network 代理登录可用,并不代表 WebEngine 支持同样的 SOCKS 认证。WebEngine 使用 Chromium,其 SOCKS5 实现并不支持认证方法;HTTP 代理的登录处理无法提供这一交换。
QNetworkProxy 可以保存协议、主机、端口、用户名和密码。即便两个调用方读取的是同一组字段,也可能实现不同的协议与方法。
要对比 Network 成功而 WebEngine 失败的情况,请记录实际使用的代理协议与方法、Qt 与 Chromium 版本以及失败的阶段。应选择发起请求的调用方所支持的路径。在被允许的公开 WebEngine 浏览场景中,SOCKS5 代理列表提供了可用于检查免认证访问的候选;请使用独立配置,不要沿用其他代理的用户名或密码。不受支持的方法会在网站登录之前就停止,因此更换目标账户处理的是错误的交换。