我正在编写一个使用HttpURLConnection连接url的java程序。但问题是网址是我公司的网址,所以我必须连接我公司的wifi才能访问它。但是我公司的网络中有一些策略不允许我使用“ping”或“nslookup”之类的命令:
当我使用HttpURLConnection时会出现同样的问题:
我不明白为什么我可以在浏览器中访问www.google.com但无法在java或命令行中连接它。我认为我的笔记本电脑没问题,因为我在家里的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)
在家里的无线环境中:
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环境中将我公司的url连接到java吗?谢谢。
答案 0 :(得分:1)
大多数组织都使用代理服务器进行互联网流量。
您的浏览器必须使用代理,该代理应该能够自行解析主机名或使用其他DNS服务器。您应该检查浏览器设置并从那里获取代理设置并在代码中使用它。在代码中使用代理设置的方法之一是通过设置系统属性,如下所示:
System.setProperty("http.proxyHost", "host");
System.setProperty("http.proxyPort", "port_number");
System.setProperty("http.proxyUser", "user");
System.setProperty("http.proxyPassword", "password");