2014-01-09 89 views
0

我想从网站中提取一些信息。这是代码。检查连接是否已建立 - jsoup

Connection conn = Jsoup.connect(s_url); //s_url has been initialized to contain the url 
conn.timeout(300000); //5 minutes 
Document doc = conn.get(); 
//some code 

该连接似乎需要相当长的时间,大约8-10s。我试图展示类似

Connecting... 

随着点数的增加,连接正在建立。有什么方法可以检查连接是否与jsoup建立了关系?如果没有,是否有可能在Java中以任何其他方式进行操作?

+0

可能是我的问题第一次没有得到答复。任何人? – aandis

+0

'Jsoup.connect(path).execute()'返回一个Response。如果它不是空的,你已经连接。看看Jsoup API,你会发现有用的方法。 –

+0

5分钟不会发生。您不能将连接超时增加到大约一分钟的平台默认值以外。你只能缩短它。 Javadoc在这一点上是错误的。 – EJP

回答

0

我建议你使用线程。生成一个将连接到服务器的线程,并在主线程中等待它完成,同时打印点:

 Thread t = new Thread(

      new Runnable() { 
      public void run() { 
       System.out.println("Connecting"); 
       try{ 
        loginForm = Jsoup.connect(s_url).execute(); 
       }catch (Exception e){ 

       } 
      } 
     } 


     ); 
     t.start(); 
     while(t.isAlive()){ 
      Thread.sleep(1000); //1 second 
      System.out.print("."); 
     }