2012-02-14 65 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的说明,如果你需要找到。

我想这就是它:)

相关问题