0

我在这个链接中发布了一个关于 htmlunit 的问题:how to use htmlunit with my android project

主要是我有一个链接,我在登录后获得(我通过网络视图登录)这个链接给了我一个简单的页面。在该页面中有一个文本区域和一个提交按钮。还有一些javascript(我认为这些javascript运行,当我按下提交按钮时)。我可以通过 webview 做到这一点,但由于某种原因我不想使用 webview。当我按下提交按钮时,它会提供 textarea 的值和带有现有 cookie 的隐藏字段的一些值(当我通过 webview 登录时获取) Post 方法。我需要在没有 webview 的情况下执行此操作。现在除了 htmlunit 还有其他选择吗?我听说过 HttpClient、HttpUrlConnection。但我不知道如何使用它们来解决我的问题,因为它们对我来说是全新的。我想如果我使用这些类,我必须在与 UI 踏板分开的线程中运行它们。还有一件事,提交后会将我重定向到另一个页面。我不需要对这个重定向页面做任何事情。

谢谢你

4

1 回答 1

0

这是我在这里给出的相同答案

我已经解决了这个问题。首先,我一直得到正确的饼干。那么问题是什么。要么我将 cookie 与 Jsoup 集成是错误的,要么 Jsoup 做错了什么。所以,首先我用 HttpUrlConnection 获取页面,然后用 Jsoup 解析它。像这样:

URL form = new URL(uri.toString());
HttpUrlConnection connection1 = (HttpURLConnection)form.openConnection();
connection1.setRequestProperty("Cookie", my_cookie);
connection1.setReadTimeout(10000);
StringBuilder whole = new StringBuilder();
BufferedReader in = new BufferedReader(
new InputStreamReader(new BufferedInputStream(connection1.getInputStream())));
String inputLine;
while ((inputLine = in.readLine()) != null)
      whole.append(inputLine);
in.close();
Document doc = Jsoup.parse(whole.toString());

任何有关此代码的建议将不胜感激。

于 2013-04-07T21:58:49.420 回答