我正在尝试编写一个程序,通过HTTP将XML请求发送到供应商服务器,我使用了this link中的示例代码。
然后在运行代码时出现错误java.net.UnknownHostException
然后我尝试ping供应商主机,然后www.google.com
。它们都不起作用。我得到了:
“ping请求无法找到主机www.google.com”
我正在使用公司网络。我可以正常浏览,下载并与供应商服务器通信。知道如何解决这个问题吗?
答案 0 :(得分:2)
您可以毫无问题地浏览网络,因为您的浏览器必须配置为使用代理。我们可以将JVM配置为使用相同的代理,然后成功打开HTTP连接。
打开网络浏览器的网络设置,记下代理服务器和端口。
对于Firefox,请转到工具>选项>高级>网络>连接>设置
现在,在打开HTTP连接之前,在Java程序中设置JVM以使用此代理。
System.getProperties().put("proxySet", "true");
System.getProperties().put("http.proxyHost", "10.1.0.11");
System.getProperties().put("http.proxyPort", "8080");
通过以上属性设置,您的程序应该能够打开连接。如果您的代理需要身份验证,那么您还必须使用Authenticator
对象设置默认ProxyAuth
。
理想情况下,您应该在程序退出之前清除这些属性。
答案 1 :(得分:1)
您应该检查系统的网络设置。您需要确认已设置DNS服务器和默认网关。
如果您的网络配置正常,您可以尝试使用命令nslookup google.com 8.8.8.8
。这将试图用他们的一个公共DNS服务器解决谷歌的IP。
答案 2 :(得分:0)
您最有可能在防火墙后面。
您的防火墙阻止您使用Jsoup等网络抓取工具连接到互联网。如果您在公司网络中,请尝试连接到Intranet站点。