JSOUP-无法解析相对URL

时间:2016-03-20 14:10:19

标签: java android http parsing jsoup

我是JSOUP的新手,我正在开发一个课程选择android项目。它通过使用webview进入大学网站。学生登录系统,然后项目必须解析学生成绩单。

大学网站:www.campus.bk.edu.da

学生成绩单网址为:www.campus.bk.edu.da / student_trans

我的代码如下;我在用户登录网站后运行此代码。

 String ht ="";
String url = "https://campus.bk.edu.da/student_trans.asp";
Document doc =Jsoup.parse(url);
ht=doc.html();

当我运行这个时,我得到了paren网站的html; www.campus.bk.edu.da。 我在哪里做错了?

我的java代码是:

campusWeb.loadUrl("http://campus.bk.edu.da/");

campusWeb.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        if (url.toString().equals("https://campus.bk.edu.da/student_trans.asp")) {
            new soup().execute();
        }
        return true;
    }
});

2 个答案:

答案 0 :(得分:1)

可能是因为https://campus.bk.edu.da/student_trans.asp没有发送错误而导致重定向到由根目录调用404(找不到文件)错误的根网址,因为https://campus.bk.edu.da/student_trans不是{i},而是~/.vagrant.d,即没有点最后的asp。

答案 1 :(得分:0)

Jsoup.parse方法试图将发布的HTML代码(或其片段)解析为DOM,但问题是您没有发布HTML而是发布URL。因为如果结果你得到了包含

的DOM
<html>
 <head></head>
 <body>
  https://campus.bk.edu.da/student_trans.asp
 </body>
</html>

如果您想从提供的URL获取代表HTML代码的Document,您首先需要连接到它。所以试试

Document doc = Jsoup.connect(url).get();