java - 使用 Java URLConnection 类代理

标签 java proxy urlconnection

我是 Java 的新手。我使用以下代码调用 REST API,它在简单环境中工作正常,但当我使用代理环境时它抛出 NullPointerException。我在谷歌上发现我们必须为此设置代理设置的结果。我根据那个设置代理 http://www.javaworld.com/javaworld/javatips/jw-javatip42.html文章,但这不起作用 + base64Encode( password ) 造成语法错误。

URL url = new URL("http://examplerestapi/get/user");
URLConnection yc = url.openConnection();



in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String inputLine;

while ((inputLine = in.readLine()) != null) {
       sb.append(inputLine);
}

String res = sb.toString();

请帮我设置代理主机、端口、用户名和密码。

最佳答案

我怀疑您的 NullPointerException 正在发生,因为 yc.getInputStream() 正在返回 null。在尝试创建读取器以从中读取字节之前,您需要检查它是否返回了一些非空值。

至于代理问题,你可以传递一个Proxy对象给连接,例如:

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("my.proxy.example.com", 3128));
URLConnection yc = url.openConnection(proxy);

这至少可以让您询问代理并排除问题的潜在来源(目前有几个来源)。

This thread可能有一些有用的提示让您的代理用户名和密码字符串正常工作。您链接的文章看起来有点过时了。

关于java - 使用 Java URLConnection 类代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8264889/

相关文章:

java - 为什么可以编译,但不会改变 seticon

java - tOracleOutput 组件中的 Talend ETL 作业错误

java - Maven 中的 Spring Security 4.0.0?

javascript - WebStorm 中的 Spy-JS 未捕获

macos - 使用 Charles Proxy 将 https 请求路由到本地 http 服务器

maven - 选择在 Maven 中使用哪个代理?

java - 双组-Cookie : PHPSESSID in http response

java - urlconnection javax.net.ssl.SSLException : java. lang.IllegalStateException

java - 为从 Java 应用程序查询 Google 的 URLConnection 设置 "User-Agent"参数

java - 任意数量集合的笛卡尔积