我使用Jsoup发送POST
请求。然后我需要将这些数据解析为JSON
形式的文本。
我也写了一些代码来检查执行时间,因为它需要的时间比我想要的多得多。
Connection connection = Jsoup.connect("http://api.3botinka.com/api/synchronize")
.method(Connection.Method.POST)
.cookies(cookies)
.timeout(30000)
.ignoreContentType(true);
if (data != null) {
connection.data(data);
}
res = connection.execute();
Logger.d(System.currentTimeMillis() - t2 + " = connection.execute");
long t6 = System.currentTimeMillis();
String tmp = res.parse().outerHtml();
Logger.d(System.currentTimeMillis() - t6 + " = res.parse().outerHtml()");
long t4 = System.currentTimeMillis();
rezult = Jsoup.parse(tmp, "UTF-8").text();
Logger.d(System.currentTimeMillis() - t4 + " = Jsoup.parse");
我在Logcat中得到了什么:
1588 = connection.execute
16150 = res.parse().outerHtml()
1466 = Jsoup.parse
parse()
方法有超长的执行时间,我不知道如何解决这个问题。有什么想法吗?
答案 0 :(得分:0)
我找到了解决这个问题的方法。
Jsoup
lib中还有其他方法可以在不解析的情况下获取页面内容。
解决方案是改变这一行:
String tmp = res.parse().outerHtml();
在这一行:
String tmp = res.body();
20次真的快了。可能是他们做了不同的工作,但在我的需要中也是如此。