2010-03-05 37 views
0

我想从另一个网站拉动信息。当我尝试做什么是连接拒绝的工作:连接

URL url = new URL("theSite"); 
url.getContent(); 

它抛出一个Connection refused: connect exception。这是否意味着该网站将不允许自动连接?有没有另外一种方法来获取这些信息?

回答

2

这可能意味着几件事情:

  • 该网站有问题,并积极丢弃连接(拒绝为超时,不同在没有收到答复的话)
  • 媒介可以拒绝你的连接,例如一个防火墙,但如果你可以通过浏览器访问该网站,那么这可能不是这种情况
  • 你使用了错误的端口,即当你输入https://时,你的意思是http://,反之亦然?
  • 您的浏览器通过代理访问本站。

    的telnet thesite 80或任何端口,你需要] GET/URL HTTP:检查浏览器的代理设置和url.openConnection使用它们(代理)

的telnet是你的朋友,当你发生了什么/1.0- 主持人:网站

+0

评论我试图telnet和有: ..Could无法打开连接到主机,端口80:连接失败 如果我输入地址到我的浏览器的网站工作。 – Lumpy 2010-03-05 16:26:36

+0

显然是一个防火墙问题。禁用/配置它。 – BalusC 2010-03-05 17:08:39

+1

@Lumpy听起来像你的浏览器正在使用代理。检查浏览器的网络设置。您可能需要使用url.openConnection(Proxy)来显式使用http代理。 http://java.sun.com/j2se/1.5.0/docs/api/java/net/URL.html#openConnection%28java.net.Proxy%29 – Mike 2010-03-05 17:12:40

1

通过在浏览器中打开网站,查看网站是否已启动并运行。你可能想要检查的另一件事是任何防火墙阻止java进程连接。

+0

该网站已启动并正在运行。我将如何检查是否有防火墙。 – Lumpy 2010-03-05 16:17:54

+0

见米凯什有关Telnet – vickirk 2010-03-05 16:28:46