从Android应用程序登录网站以检索和解析信息

时间:2015-07-24 01:10:08

标签: java android networking

我一直在研究android中的网络,并熟悉基本概念。但是,我最近一直致力于将我的学校用作各种类型的成绩簿/作业展示的应用程序。我的学校使用以下在线成绩簿:https://parents.mtsd.k12.nj.us/,目前我试图让学生将他们的登录凭据输入我的应用程序,然后尝试检索他们各自的信息并将其显示在gridview中。但是,在解析数据之前,我从未尝试从Android应用程序登录到网站(我已经经历了几个类似的问题,但我仍然有点困惑)

任何帮助表示赞赏!

[编辑]登录后我将使用import.io显示成绩簿数据,网站没有api

2 个答案:

答案 0 :(得分:1)

如果我明白你明白你需要:

  1. 使用HttpURLConnection与用户creditentials连接到网站(对登录页面发布请求)
  2. 从请求中获取Cookie(我最喜欢的方法是解析 - 复制相应的标题字段)
  3. 将获得的cookie与HttpURLConnection.setRequestProperty(“Cookie”,obtainCookies)一起使用并执行另一个请求(到用户数据页面)。
  4. 获取输入流
  5. 解析流 (获取文档“html”你可以使用jsoup示例: 文档doc = JSoup.parse(stream,null,“”);

  6. 显示数据

  7.   

    <强>指南:

         

    cookie how to

         

    <强> Most useful example

    注意:

    - 任何http请求都需要在主线程(ui线程)之外完成 - 你可以为这个或意图服务使用异步任务

    问题

    编辑

    你问是否使用Jsoup来处理连接?

    我的答案是否定的!

    Jsoup是一个PARSER,它使用HttpURLConnection u 获得对HTTP请求的完全控制,所以例如你可以处理一些specyfic异常或请求jsoup不具备的属性!根据我的经验,一段时间后我开始反汇编库并从中学习基础知识,并在我的代码中使用它们的一部分!

答案 1 :(得分:0)

您可以使用具有登录名和密码字段的自定义HTML文件创建WebView,然后让HTML文件运行与网站相同的脚本以进行登录。