2012-09-12 57 views
2

從我有一個android應用程序使用webview用戶必須登錄用戶名和密碼才被重定向到頁面我想用jsoup刮掉數據。由於jsoup線程將是不同的會話,用戶將不得不再次登錄。從cookiesyncmanager Jsoup cookie認證從https網站

現在我想使用從webview收到的cookie發送jsoup請求,以便能夠抓取我的數據。

該cookie正在與cookieyncmanager同步以下代碼。這基本上是我卡住的地方,因爲我不知道如何讀出cookie,也不知道如何將它附加到jsoup請求。請幫忙? :)

public void onPageFinished(WebView view, String url) { 

      CookieSyncManager.getInstance().sync(); 

的jsoup刮我的用戶後做已經登錄的東西是這樣的:

doc = Jsoup.connect("https://need.authentication.com").get(); 

       Elements elements = doc.select("span.tabCount"); 
       Element count = elements.first(); 


       Log.d(TAG, "test"+(count)); 

回答

1

Android開發人員,但也許你可以嘗試這樣的事情:

final String url = "https://need.authentication.com"; 


// -- Android Cookie part here -- 
CookieSyncManager.getInstance().sync(); 
CookieManager cm = CookieManager.getInstance(); 

String cookie = cm.getCookie(url); // returns cookie for url 

// ... 

// -- JSoup part here -- 
// Jsoup uses cookies as "name/value pairs" 
doc = Jsoup.connect("https://need.authentication.com").header("Cookie", cookie).get(); 

// ... 

我希望這有點幫助,但正如我以前說過的:(!和代碼沒有進行測試),即時通訊沒有Android開發者

下面是一些文檔:

+0

感謝。看起來對我來說是一個體面的開始! :)當我回家後會嘗試它,並回到你身邊! – SunnySonic

+0

Ollo。千謝你!!!!!這工作完全像它應該!!!!!!我希望這對其他人也有很大的幫助! – SunnySonic