2013-02-11 31 views
0

有沒有辦法讓&通過HTTP在Java中調用?我還需要像自動目標網頁上的按鈕,點擊任何用戶輸入(任何網頁,不只是雅虎財經)閱讀HTTP和(希望)使用Java自動化操作

我使用Apache公共圖書館試圖&不能完全破解它:

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.impl.client.DefaultHttpClient; 

public class Fin { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     DefaultHttpClient httpclient = new DefaultHttpClient(); 

     HttpGet httpget = new HttpGet("http://finance.yahoo.com"); 
     try { 
      HttpResponse response = httpclient.execute(httpget); 
      HttpEntity entity = response.getEntity(); 
     } catch (Exception e) { 
      e.printStackTrace(); 

     } finally { 
      httpget.releaseConnection(); 
     } 
    } 

} 

我不斷收到'java.net.ConnectException:連接被拒絕',雖然我可以在瀏覽器中看到它。

+0

你可能想嘗試打開日誌級別下降到DEBUG或者TRACE,因爲我認爲Apache HTTP庫通常提供關於它在這些級別上正在執行的操作的良好信息......也許有些事情會變得明顯。 – cjstehno 2013-02-11 13:57:05

+0

@cjstehno:我忘了加我的代理,有關挺對不起......我的壞... 現在有人可以回答我有關如何將任何用戶輸入喜歡的目標點擊一個按鈕自動問題的第二部分網頁? – srami 2013-02-11 14:17:48

+0

這聽起來像你在做功能測試......你是否研究過像Geb或Selenium這樣的庫,而不是試圖編寫自己的框架? – cjstehno 2013-02-11 16:16:51

回答

0

如果您確實想要自動化基於瀏覽器的交互,您可以進一步使用Watij,它通過JVM運行瀏覽器,並通過基於瀏覽器的API進行驅動(即,您確定要按的按鈕和它會實際上這個)

否則像你確定一個庫通常會工作。你必須注意客戶端JavaScript交互驅動的請求,並配置代理服務器等(我懷疑這是在你上面的問題)

+0

謝謝Brian,cjstehno,我看了一下框架和硒,Imacros&wattij看看大有前途 – srami 2013-02-12 06:14:37