如何在 Android 应用程序中为 Http 请求使用 auth-required 代理?

How to use auth-required proxy for Http request in Android app?

我正在使用以下代码发送 post 请求。

    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyAddr, proxyPort));
    URLConnection urlConnection = url.openConnection(proxy);
    urlConnection.setRequestMethod("POST");
    urlConnection.setRequestProperty("Content-Type", "application/json; charset=utf-8");
    urlConnection.setDoOutput(true);
    urlConnection.setDoInput(true);
    ...

这里我可以设置代理服务器地址和端口。但是我想知道如何在这里添加代理用户名和密码。

我读了一些 post 关于通过代理调用 http 请求的文章,但没有人在谈论代理身份验证。

希望得到大家的帮助。


PS:

有些人建议使用来自 here

的代码
Authenticator authenticator = new Authenticator() {

    public PasswordAuthentication getPasswordAuthentication() {
        return (new PasswordAuthentication("user",
                "password".toCharArray()));
    }
};
Authenticator.setDefault(authenticator);

但这根本不起作用。

终于想通了

向请求添加授权 Header。

String credential = Credentials.basic(proxyUsername, proxyPassword);
urlConnection.addRequestProperty("Proxy-Authorization", credential);