2012-02-14 77 views
2

我是Android編程新手,期待開發一款應用程序。該應用程序應該能夠通過填寫HTML表單登錄到網站。Android應用程序:登錄到網站,保持會話 - Java

一旦登錄會話應該保持,並通過會話,用戶必須能夠(使用標準的HTML表單帖子)發佈到網站。

這種類型的活動可能嗎?我可以使用這個特殊模塊嗎?

注意:該網站沒有任何花哨的API。我也無法訪問其源代碼。

預先感謝您。

回答

7

我幾乎不知道我剛纔問的是什麼,而是在我需要的東西落地之後。

需要通過處理HTML Post表單登錄到網站,保持會話和網站上的工作。

連接網站的簡單功能如下。

public static void connectToSite(HttpClient client, String username, String password){ 
    List<NameValuePair> arguments = new ArrayList<NameValuePair>(); 
    arguments.add(new BasicNameValuePair("email", username)); 
    arguments.add(new BasicNameValuePair("pword", password)); 
    arguments.add(new BasicNameValuePair("action", "modifyPALS")); 
    arguments.add(new BasicNameValuePair("Submit", "Login")); 

    HttpPost post = new HttpPost(); 

    try{ 
     post.setURI(new URI("http://www.my-target-website.com/login.php")); 
     post.setEntity(new UrlEncodedFormEntity(arguments)); 
     client.execute(post); 
     AppStatus s = getSiteConnectionStatus(client, site); 
    } 
    catch (URISyntaxException e){ 
     Log.e("LANKAFRIENDS", "SiteConnection.connectToSite():URISyntaxException"); 
    } 
    catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } 
    catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 

我通過Singleton實現得到一個HttpClient實例。當我想要的時候使用它。

表格屬性被存儲爲BasicNameVluePair S IN的List。一個HttpPost對象被創建,url通過setURI方法提供。然後,該列表作爲實體提供給HttpPost對象並最終執行。

有些事情很明顯,很多在StackOverflow上和Bing的說明,如果你需要找到。

我想這就是它:)

相關問題