突然无法连接到Java中的外部服务器

时间:2011-06-20 02:34:41

标签: java http

它整天都工作得非常好,现在我突然间无法连接。我可以通过浏览器连接(您也可以:http://secure.exoterragame.com/noxastra/login.php),但它在我的Java应用程序中不起作用。我收到一个UnknownHostException。

URL register = new URL("http://secure.exoterragame.com/noxastra/login.php" + 
                "?username=" + request.Username + 
                "&password=" + request.Password);

        URLConnection conn = register.openConnection();

我完全难过了。有谁知道为什么会这样?

(是的,我们将在最终版本中使用https:P)

2 个答案:

答案 0 :(得分:2)

执行packet sniff查看幕后发生的事情。 (我建议所有平台使用Wireshark。)

我曾经在Flash中遇到过类似的问题,直到我意识到它是虚拟机中的一个错误并且在没有发送任何数据包的情况下给我超时的情况下,它一直在撕裂我的头发!

我认为Java不会有这样的错误,但问题是,嗅探有时是非常宝贵的。

也许有一个DNS / hosts文件更新,你的浏览器已经获得,但程序没有(或反过来?)可能该程序被卡在(本地)防火墙?也许它确实登录成功但打破了重定向响应? (我甚至不知道URL能否做到这一点,但仍然......)也许你已经在某处启用/禁用了IPv6?

答案 1 :(得分:1)

jcomeau@intrepid:/tmp$ cat test.java; javac test.java; java test
import java.net.*;
public class test {
 public static void main(String args[]) throws Exception {
  URL register = new URL(
   "http://secure.exoterragame.com/noxastra/login.php" + 
    "?username=" + "guest" + 
    "&password=" + "guest");
  URLConnection conn = register.openConnection();
 }
}

不会为我抛出异常。也许https://stackoverflow.com/users/800237/adithya-surampudi的建议可行。