具有相同主机和端口的多个代理会覆盖 `auth_store` 中的凭据

作者: lp123sun创建于 2026年9月13日更新于 2026年9月13日
  1. src/net/tools/naive/naive_config.h 中:
cpp
std::map<url::SchemeHostPort, AuthCredentials> auth_store;
  1. src/net/tools/naive/naive_config.cc 中:
cpp
auth_store[url::SchemeHostPort{GURL{proxy_url}}] = auth;

url::SchemeHostPort 只表示 (scheme, host, port),没有用户凭据。当多个代理 URI 指向同一主机/端口时,后续条目会覆盖全局 auth_store 中的前面条目。 3. 在 src/net/tools/naive/naive_proxy_bin.cc 中:

cpp
for (const auto& [k, v] : config.auth_store) {
  auto* session = context->http_transaction_factory()->GetSession();
  auto* auth_cache = session->http_auth_cache();
  auth_cache->Add(k, HttpAuth::AUTH_PROXY, ...);
}

所有的 URLRequestContext 实例最终都被填充为列表中的最后一个代理的凭据。

内容来源: klzgrad/naiveproxy