我在此链接中发布了htmlunit的问题:how to use htmlunit with my android project
主要是我有一个链接,我登录后得到(我通过网页浏览登录)这个链接给我一个简单的页面。在该页面中有一个textarea和一个提交按钮。并且还有一些javascript(我认为这些javascript运行,当我按下提交按钮)。我可以通过webview来做,但由于某种原因,我不想使用webview。当我按下提交按钮时,它会提供textarea的值以及现有cookie的隐藏字段的某些值(当我通过webview登录时获取)Post方法。我需要在没有webview的情况下这样做。现在除了htmlunit还有其他选择吗?我听说过HttpClient,HttpUrlConnection。但我不知道如何使用它们来解决我的问题,因为它们对我来说是全新的。我认为,如果我使用这些类,我必须从UI踏板单独运行它们。还有一件事,提交后会将我重定向到另一页。我不需要对此重定向页面执行任何操作。
谢谢
答案 0 :(得分:0)
这是我给出here
的答案我已经解决了这个问题。首先,我一直在获得正确的cookie。那么问题是什么呢。或者我错误地将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());
任何有关此代码的建议都将受到赞赏。