[英]Java: Can a desktop App log-in in a web app and retrieve a “session” object to authenticate itseft in other apps which trust the web app?
[英]Android App: Log-in to website, maintain session - Java
我是Android編程的新手,並希望開發一個應用程序。 該應用程序應該能夠通過填寫HTML表單登錄到網站。
登錄會話后應予以維護,並在整個會話期間,用戶必須能夠(使用標准HTML表單發布)發布到網站。
這種活動可能嗎? 我可以為此使用任何特殊模塊嗎?
注意:該網站沒有任何精美的API。 我也無法訪問其源代碼。
先感謝您。
一開始我不確定我要問的是什么,在幾次Bings之后我就找到了我需要的東西。
需要通過處理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的形式存儲在List中。 創建一個HttpPost對象,通過setURI方法提供url。 然后,該列表作為一個實體提供給HttpPost對象,並最終執行。
有些事情很明顯,如果需要查找,可以在StackOverflow和Bing中找到很多說明。
我想就是這樣:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.