Java 网络/代理身份验证(WebClient.UseDefaultCredentials可选)

Java 网络/代理身份验证(WebClient.UseDefaultCredentials可选),java,c#,networking,proxy,Java,C#,Networking,Proxy,我正在用java编写一个程序,该程序必须在我的工作环境中运行。 以下是我的代码片段: URL url = new URL("www.google.com"); BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 在我的家庭网络上,这工作得非常好,但在商业网络上,我得到以下错误: java.net.SocketException:软件导致的连接中止:recv 在处的java.net.So

我正在用java编写一个程序,该程序必须在我的工作环境中运行。 以下是我的代码片段:

URL url = new URL("www.google.com");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
在我的家庭网络上,这工作得非常好,但在商业网络上,我得到以下错误:

java.net.SocketException:软件导致的连接中止:recv 在处的java.net.SocketInputStream.socketRead0(本机方法)失败 java.net.SocketInputStream.read(未知源代码)位于 java.net.SocketInputStream.read(未知源代码)位于 位于的java.io.BufferedInputStream.fill(未知源) 位于的java.io.BufferedInputStream.read1(未知源) java.io.BufferedInputStream.read(未知源)位于 sun.net.www.http.HttpClient.parseHTTPHeader(未知源)位于 sun.net.www.http.HttpClient.parseHTTP(未知源)位于 sun.net.www.http.HttpClient.parseHTTP(未知源)位于 sun.net.www.protocol.http.HttpURLConnection.getInputStream(未知 源代码),位于java.net.URL.openStream(未知源代码) converser.run(converser.java:44)

我很确定这与这里的网络设置有关。但是,当我编写C#程序时,我可以使用
WebClient.UseDefaultCredentials(true)以修复该问题。
是否有一个版本可以用于我的java程序


以下是一些可能有帮助的详细信息:

  • 我可以用手机连接到wifi,但我不能使用互联网。我可以ping手机以确保它在网络上,但我无法访问互联网
  • 该网络基于windows。如果我使用我的个人笔记本电脑(windows 8),我会收到弹出窗口,要求我在使用互联网之前输入凭据。当我输入我的凭证时,我确实获得了internet(chrome),但java程序仍然无法连接
  • 我没有正在使用的代理服务器的url
  • 我有管理员权限,在管理模式下运行它并不能解决问题
根据细节1,我猜您的公司使用代理。Firefox、Chrome、IE等都是由IT部门设置的

检查您的代理设置,看看是否设置了任何内容


关于C#为什么工作,我的猜测是IE中的代理设置,而C#正在使用这些设置。我还想向您的IT部门寻求帮助,因为这个问题几乎肯定与网络设置有关。

根据第一个细节,我不明白如果您无法访问internet,您怎么会得到响应(recv错误)。我可以访问internet(使用chrome、firefox、IE)但任何试图使用外部连接的程序都无法工作(如自我更新软件)。我特别说,“我确实可以上网(chrome),但java程序仍然无法连接。”