【发布时间】:2016-03-10 15:48:35
【问题描述】:
我有一个 Java 方法,它获取一个提要文档(通过 http)然后解析提要(不是 JSON 或 XML 类型的)。 方法是这样的:
public ArrayList<ArrayList<String>> getFeed(String type)
{
String feed = "";
String address = "";
Document file;
/**
* FEED URLs-------\/
*/
switch (type) {
case "news":
address = "https://[domain]/svc/feeds/news/6001?subtree=false&imagesize=medium-square";
break;
case "events":
address = "http://[domain]/svc/feeds/events/6001?subtree=true&imagesize=medium-square&from=%5bfromDate%5d&to=%5btoDate";
}
try {
HttpURLConnection connection = (HttpURLConnection) (new URL(address)).openConnection();
//TODO: @Test
//----------------------------\/--THIS ONE WILL CAUSE ERRORS!!
file = (Document)connection.getContent();
connection.disconnect();
//OUTPUT
feed = file.getElementsByAttribute("pre").text();
stream = new StringReader(feed);
} catch (Exception e) {}
//BEGIN PARSING\\//--THEN OUTPUT//\\
try {
return parse();
} catch (FeedParseException e) {}
//de-fault
return null;
}
它不工作;说那个对象:'文件'导致NullPointerException。
那么如何提高调试在我看来是非开源的东西的精度。
P.S.:我没有测试“事件”案例,所以不要担心那里的 GET 参数。
我看不出它有什么帮助......
【问题讨论】:
-
有人吗??.................................
-
你能粘贴一些堆栈跟踪吗?另外,我建议确认已成功建立连接。例如
value.getResponseCode()的值是多少? -
您实际上并没有使用 Jsoup 解析文档。尝试做类似
file = Jsoup.connect(address).get();的事情。还要发布您的堆栈跟踪,并添加更多代码,因为您的代码对我来说有点奇怪。 -
我试试Jsoup方法;谢谢乔纳斯!
-
代码隐藏异常。至少记录它们或抛出 RuntimeException。您的问题可能存在。
标签: java http get jsoup document