2016-03-20 12 views
0

私はJSOUPで本当に新しく、コース選択アンドロイドプロジェクトを開発しています。ウェブビューを使用して大学のウェブサイトに移動します。学生がシステムにログオンすると、プロジェクトは学生の成績を解析する必要があります。例えばJSOUP-相対URLを解析できません

大学のウェブサイト:www.campus.bk.edu.da

学生転写産物のURLです: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; 
    } 
}); 
+0

あなたのブラウザであなたの学生アカウントにログインしてプログラムを実行するのですか? –

+0

いいえ、上記のJavaコードを追加しました。私はユーザーがアプリケーションのwebviewからトランスクリプトを開いたときを意味します。 – asyaben

+0

コードスニペットは、HTML/CSS/JavaScriptなどのブラウザで実行できるコードで使用するためのものです。 JavaはJavaScriptと同じではないので、ここでは使用しないでください。代わりにStack Overflowが(キーワードの色のような)あなたのコードに適切な書式を適用させるために、* code sample *(エディタメニューの '{}'アイコン)を使用してください。 – Pshemo

答えて

0

Jsoup.parse方法はDOMに投稿HTMLコード(またはそのフラグメント)を解析しようとしているが、問題は、あなたがHTMLが、URLを投稿していなかったということです。それが結果として、あなたはDOMを得た場合

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

が含まれているので、あなたはドキュメントが提供URL、それに接続するあなたの最初の必要性からHTMLコードを表す取得したい場合。だから、おそらくあなたが最後にドットASPせず、すなわち、https://campus.bk.edu.da/student_trans.aspがehxistていないので、404(ファイルが見つかりません)エラーによって呼び出されるURLをrootにリダイレクトを取得しますが、https://campus.bk.edu.da/student_transている

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

また、このURLが正しいか、サイトがオンラインであることを確認してください。 – Pshemo

+0

返事ありがとうPshemo。私はあなたが言ったようにコードを変更しましたが、再びhttps://campus.bk.edu.daのhtmlをstudent_transではなく提供します。上記のJavaコードを追加しました。エラーがWebviewコードにあります。確認してください。 – asyaben

+0

@asyaben正直言って私はあなたのURLからサイトにアクセスすることはできません。私もcampus.bk.edu.daサーバーを訪問することはできませんので、多くのあなたを助けることはできません。 – Pshemo

0

てみてください。

+0

返事ありがとう、私は試みたが、それは働かなかった。 – asyaben