You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java配置带认证的Squid HTTP代理时出现认证失败问题求助

解决Java通过Squid代理认证失败的问题

你的代码里存在明显的拼写错误,这是触发Failed to authenticate with proxy的直接原因:

  • 设置http.proxyPassword和https.proxyPassword时,错误传入了用户名authUser,而非密码authPassword。

修正后的代码

String proxyHost = config.getString("ProxyHost").trim();
String proxyPort = config.getString("ProxyPort").trim();
final String authUser = config.getString("ProxyUser").trim();
final String authPassword = config.getString("ProxyPw").trim();

if (proxyHost != null && !proxyHost.isEmpty()) {
    DiscordSRV.debug("Proxy host setting to " + proxyHost);

    Authenticator.setDefault(
            new Authenticator() {
                @Override
                public PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(authUser, authPassword.toCharArray());
                }
            });

    try {
        System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");
        // HTTP proxy
        System.setProperty("http.proxyHost", proxyHost);
        System.setProperty("http.proxyPort", proxyPort);
        System.setProperty("http.proxyUser", authUser);
        System.setProperty("http.proxyPassword", authPassword); // 修正密码参数

        // HTTPS proxy
        System.setProperty("https.proxyHost", proxyHost);
        System.setProperty("https.proxyPort", proxyPort);
        System.setProperty("https.proxyUser", authUser);
        System.setProperty("https.proxyPassword", authPassword); // 修正密码参数

        DiscordSRV.debug("Proxy successfully set");
    } catch (Exception e) {
        DiscordSRV.debug("Proxy settings failed to apply");
        e.printStackTrace(); // 添加异常打印,方便排查具体问题
    }
}

额外排查优化点

  1. 空值判断顺序调整:原代码先判断非空再判null,会触发空指针异常,修正为先判null再判空。
  2. 开启代理认证协议支持:如果Squid使用Basic认证,可添加以下属性确保JVM允许该认证方案:
System.setProperty("jdk.http.auth.proxying.disabledSchemes", "");
  1. 属性生效时机:必须在发起HTTP/HTTPS请求前完成所有系统属性设置,否则配置不会生效。

内容的提问来源于stack exchange,提问作者YueYue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:40:17