当前位置: 首页 > 知识库问答 >
问题:

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

习海
2023-03-14

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

URL url = new URL("www.google.com");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

在我的家庭网络上,这工作得非常好,但在商业网络上,我会遇到以下错误:

onnection.getSocketException:软件导致连接中止:recv在java.net.SocketInputSonquerer.runRead0(本机方法)在onquerer.html" target="_blank">java:44SocketInputStream.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.HttpURLCjava.net.InputStream(未知源)在java.net.URL. openStream(未知源)在Ctream.socket(Cjava.net.)

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

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

  • 我可以用手机连接到wifi,但我不能使用互联网。我可以ping电话以确保它在网络上,但我无法访问互联网
  • 网络基于windows。如果我使用我的个人笔记本电脑(windows 8),我会得到弹出窗口,要求我在使用internet之前输入凭据。当我输入凭据时,我确实可以上网(chrome),但java程序仍然无法连接
  • 我没有正在使用的代理服务器的url
  • 我有管理员权限,在管理模式下运行它并不能解决问题

共有1个答案

王俊哲
2023-03-14

从细节#1,我猜你的公司使用代理。Firefox、Chrome、IE等的原因是这些都是由IT部门设置的。

检查每个浏览器中的代理设置,查看是否已设置任何内容。

我猜测C#工作的原因是IE中的代理设置,而C#正在引入这些设置。我也会去您的IT部门寻求帮助,因为这个问题几乎肯定与网络设置有关。

 类似资料:
  • 问题内容: 问题: 如何向OkHTTP添加授权代理。 我知道OkHTTP的生成器确实支持代理,尽管我很难设置一个代理。 我有IP /端口/用户名/密码。 尽管我不知道如何将其转换为client.SetProxy()中可以使用的那些。 这似乎过于复杂,我似乎无法弄清楚。任何帮助,将不胜感激。 问题答案: 试试这个:

  • 问题内容: 我一直在尝试使用Apaches HttpComponent的httpclient时从配置的属性中配置用于代理身份验证的用户和密码,但是没有成功。我发现的所有示例都引用了不再可用的方法和类,例如和。 因此,谁能给我一个有关如何配置代理凭据的示例? 问题答案: 对于Basic-Auth,它看起来像这样: 开箱即用不支持AFAIK NTLM。但是您也许可以使用过载来管理它。

  • 问题内容: 我正在尝试通过FTP SITE代理访问FTP服务器以绕过防火墙,因为我知道我的用户名/密码正确,因为可以使用FileZilla进行连接。我尝试使用,但没有用。码: 给我这个错误: 我尝试过的事情: 使用备用构造函数。 拆下 使用just ,不使用FTPProxyConnector 设置连接器之前进行身份验证,反之亦然。 但是,当我仅使用Authenticator时,会收到不同的错误提示

  • 问题内容: 我想将具有基本身份验证(用户名,密码)的代理用于Java中的连接(并且仅此连接)。以下代码适用于HTTP URL(例如“ http://www.google.com ”): 但是,该代码不适用于HTTPS URL(例如“ https://www.google.com ”)!我收到的时候我尝试访问HTTPS URL。 此代码适用于HTTP和HTTPS: 第二个代码的问题在于它设置了一个新

  • 我想通过Spring Cloud介绍Zuul作为一个API网关在少数服务前面。 我关心的问题: > 网关将位于许多服务的前面 某些服务可能公开不需要身份验证的endpoint null

  • 问题内容: 我需要使用PostForm方法将代理与auth一起使用。如果我使用类似(简体)的内容: 我可以轻松做到,并且效果很好。但是现在,我正在编辑第三方程序包,并尝试将代理添加到现有代码中: 在我看来,它是行不通的,而且失败了。在此示例中,没有身份验证的代理可以正常工作。有人知道吗,在这种情况下我可以在auth中使用代理吗? 问题答案: 您正在尝试向响应中添加标头,这不是您发送到服务器的内容,