我正在编写一个使用HttpURLConnection连接URL的Java程序。但是问题在于该网址是我公司的内部网址,因此我必须连接公司的wifi才能访问它。但是我公司的网络中有些策略不允许我使用“ ping”或“ nslookup”之类的命令:
java - 在公司的内部网中使用HttpURLConnection-LMLPHP

当我使用HttpURLConnection时,也会发生相同的问题:
java - 在公司的内部网中使用HttpURLConnection-LMLPHP

我不明白为什么我可以在浏览器中访问www.google.com,但无法通过Java或命令行将其连接。我认为笔记本电脑没有问题,因为我在家里的wifi环境中尝试了相同的操作,并且一切正常。但是在我家的wifi中,我无法访问公司的内部URL。我知道我的描述令人困惑,所以情况是:

在公司的wifi环境中:

I can visit google in browser
I can visit the company's url which I want to connect in java
I cannot ping/nslookup google
I cannot connect google or company's url in java(UnknownHostException)


在家庭的wifi环境中:

I can visit google in browser
I cannot visit the company's url which I want to connect in java
I can ping/nslookup google
I can connect google in java
I cannot connect company's url in java


那么我可以在公司的wifi环境中用java连接公司的url吗?谢谢。

最佳答案

大多数组织将代理服务器用于Internet通信。

您的浏览器必须使用代理,该代理应能够自行解析主机名或使用其他DNS服务器。您应该检查浏览器设置,然后从那里获取代理设置,并在代码中使用它。在代码中使用代理设置的一种方法是通过设置系统属性,如下所示:

System.setProperty("http.proxyHost", "host");
System.setProperty("http.proxyPort", "port_number");
System.setProperty("http.proxyUser", "user");
System.setProperty("http.proxyPassword", "password");

10-06 11:19